Application.Evaluate运行时错误types不匹配
我正在遇到这种运行时错误types不匹配在VBA下面的函数调用
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)
所以评估函数抛出一个运行时错误types不匹配
我试过了
sTest = "=Search(" & Chr(34) & "MyString" & Chr(34) & Chr(44) & Chr(34) "Test MyString" & Chr(34) ")>0"
还是一样的错误
当我在Excel的公式栏中使用上面的string,它的工作原理!
我试过了
sTest = "=Search(""MyString"", ""Test MyString"")>0"
它在VBA中工作
出乎我的意料
sTest = "=Search(" & Chr(34) & Chr(34) & "MyString" & Chr(34) & Chr(34) & Chr(44) & Chr(34) & Chr(34) & "Test MyString" & Chr(34) & Chr(34) & ")>0"
丁工作
有人可以帮助在这里为什么第一块代码不起作用?
如果你想在一个string中包含一个引号,你需要做的就是将它加倍:
sTest = "=Search(""MyString"",A2)>0"
对我来说比使用Chr(34)
更容易
请注意,如果string未find,则SEARCH()将返回错误,而不是0。