2014-03-06 3 views
0

- 그래서 함수를 계산 Application.Evaluate 런타임 오류 유형 불일치 나는이 런타임 오류가 발생하고

Dim sTest As String 
sTest = "=Search(" & Chr(34) & "MyString" & Chr(34) & Chr(44) & "A2" & ")>0" 
''the above evaluates to =Search("MyString",A2)>0 
Application.Evaluate(sTest) 

VBA

에 내가 시도

런타임 오류 유형 불일치를 다음 함수 호출에 유형 불일치를 던졌습니다 아직

sTest = "=Search(" & Chr(34) & "MyString" & Chr(34) & Chr(44) & Chr(34) "Test MyString" & Chr(34) ")>0" 

같은 오류

나는 AB 사용 탁월한 수식 입력 줄에 문자열이 너무 많으면 효과가 있습니다 !!

나는 그것은

sTest = "=Search(" & Chr(34) & Chr(34) & "MyString" & Chr(34) & Chr(34) & Chr(44) & Chr(34) & Chr(34) & "Test MyString" & Chr(34) & Chr(34) & ")>0" 

작동 놀랍게도

VBA

에 근무

sTest = "=Search(""MyString"", ""Test MyString"")>0" 

시도

누군가가 여기서 코드의 첫 번째 블록이 작동하지 않는 이유는 무엇입니까?

sTest = "=Search(""MyString"",A2)>0" 

나에게 그 검색()가 오류를 반환 Chr(34)

주를 사용하는 것보다 쉽다 : 당신이 문자열에 따옴표를 포함하려면

+1

'Search'는 아무것도 찾지 못하면'#VALUE! '를 반환하므로'Search()> 0'을 사용할 수 없습니다. 대신에 다음을 사용하십시오 :'sTest = "= ISNUMBER (Search ("& Chr (34) & "MyString"& Chr (34) & Chr (44) & "A2"& "))" ''= ISNUMBER (Search (""MyString "", A2)) "' –

답변

2

은 당신이 할 필요가 그것을 더블 문자열이 발견되지 않으면 0이되지 않습니다.

+0

Damn .. 내 수동 테스트를 위해 오류 상태를 테스트 해보고 싶습니다. 이제 중단 점을 설정하고 A2의 셀 값을 "Test MyString"으로 변경하면 작동합니다. 그래서 실제로 평가는 검색에 의해 반환 된 오류로 인해 실패했습니다. 감사합니다. –