Excel VBA:“喜欢”错误地使用Chr 35返回true和false

时间:2019-03-11 19:08:46

标签: excel vba

我正在尝试在一个较大的项目中使用条件语句,该条件语句在数字后跟井号/井号(#)时触发。它在项目中不起作用,因此我进行了简单测试,并获得了奇怪的,违反直觉的结果。

有人可以分享为什么这里的第一个MsgBox语句返回true,而第二个返回false吗?而且,当数字后面带有“#”符号时,如何正确返回true?

Sub Testing()

Dim mystring As String

    mystring = "43"
        MsgBox mystring Like "#" & Chr(35) 'Returns True

    mystring = "43#"
        MsgBox mystring Like "#" & Chr(35) 'Returns False

End Sub

1 个答案:

答案 0 :(得分:3)

某些字符必须转义:

https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/like-operator

  

要匹配左括号([),问号(?),   数字符号(#)和星号(*),将其括在方括号中。正确的   方括号())不能在组中用于匹配自己,但可以   在组外用作个人角色。

? "3#" like "#[#]" '>> True