我正在尝试在一个较大的项目中使用条件语句,该条件语句在数字后跟井号/井号(#)时触发。它在项目中不起作用,因此我进行了简单测试,并获得了奇怪的,违反直觉的结果。
有人可以分享为什么这里的第一个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
答案 0 :(得分:3)
某些字符必须转义:
https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/like-operator
要匹配左括号([),问号(?), 数字符号(#)和星号(*),将其括在方括号中。正确的 方括号())不能在组中用于匹配自己,但可以 在组外用作个人角色。
? "3#" like "#[#]" '>> True