2017-04-27 1 views
0

필자는 필자의 인생에서 필자의 매크로에서 이스케이프가 올바르게 작동하도록 할 수 없습니다. 셀 참조 값의 양쪽에 와일드 카드를 사용하는 Countif 함수를 입력하려고합니다. 또한 셀의 범위를 정의하는 데 도움이되는 별도의 탭 내의 마지막 행을 찾습니다.와일드 카드 셀 참조를 사용하여 Countif 매크로를 이스케이프 처리합니다.

대상 셀에 포함 할 값을 지정합니다. 다음 문자열 :

=COUNTIF('NCR''s'!$B$8:$C$117,"*"&'Design Baseline'!B8&"*") 

다음이 수행을 시도하는 코드입니다 : 당신이 '로 시작하는 줄에서 볼 수 있듯이

Sub test() 

Dim Wild1 As String 
Dim Wild2 As String 
Wild1 = Chr(34) & Chr(42) & Chr(34) & Chr(38) 
Wild2 = Chr(38) & Chr(34) & Chr(42) & Chr(34) 

'code for counting instances of parts on each tab 
Sheets("NCR's").Select 
    Cells.Select 
    Selection.EntireRow.Hidden = False 
    NCRlastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row 

Sheets("Design Baseline").Select 
    Cells.Select 
    Selection.EntireRow.Hidden = False 
    'Range("AB8").Formula = "=COUNTIF('NCR''s'!$B$8:$C$" & NCRlastRow & "," & Chr(34) & "*" & Chr(34) & "&" & "'Design Baseline'!B29" & "&" & Chr(34) & "*" & Chr(34) & ")" 
    Range("AB8").Formula = "=COUNTIF('NCR''s'!$B$8:$C$" & NCRlastRow & "," & Wild1 & "'Design Baseline'!B29" & Wild2 & ")" 

End Sub 

을, 나는 대하 (REF)를 사용하는 것을 시도했다 메서드를 사용하여이 문제를 해결하고 t에 대해 사용자 정의 문자열을 사용합니다. he ", * 및 & 기호. 나는 또한 두 배의 "도피와 평등"을 시도했다. 이 OO 극복하는 방법을 잘하지

다음 줄은 내가 도움이 될하지만 난 상관없이 여기에 넣어 있을지는 와일드 카드를 필요로하고 확실하지, 좋은 일을 실현하기 전에 무엇을 사용했다 :

Range("AC8").Formula = "=COUNTIF('NCR''s'!$B$8:$B$" & NCRlastRow & ",'Design Baseline'!B8)" 

어떤 도움이라도 대단히 감사하겠습니다!

+0

왜 ","& 대하 (34) "*"''로 ", '*'''대체하지? –

+0

'('Design Baseline ') –

답변

0

수식에서 큰 따옴표를 이스케이프 처리해야합니다. 이 같은 뭔가 :

Dim formula As String 
formula = "=COUNTIF('NCR''s'!$A$8:$C$" & NCRlastRow & ",""*"" &'Design Baseline'!B8&""*"")" 
Debug.Print formula 
Range("AB8").formula = formula 
+0

감사합니다. 시트 참조가 있기 때문에 라인이 좋아하지 않습니다. 이 일을 한 것 같습니다! 원래 따옴표를 벗어나려고했지만 문제가 해결 된 후 무엇이 잘못되었는지 확실하지 않습니다. :) –

관련 문제