2017-05-14 68 views
0

我对VB宏很陌生。在表3中,我有三列名为“Country”“Provinces”和“Risk” 对于“省份”,存在的值是NB,NS,NF,PE。 IN sheet5,我写像VB Macro Like Operator

`(VAL)类似于 “* [HH,HHJ,qqw,万维网]” 然后

,以检查是否用户已经提供了输入像NB或类似的NB,NS或代码就像PE一样,只有来自Risk的相应值才会显示出来。现在使用上面的代码,如果用户输入的值为“,”,结果也会显示为,存在于Like语句中。

请亲引导我。

回答

2

你不能以这种方式使用VBA Like。尝试:

X = "abc, NB" 
If X Like "*NB" Or _ 
    X Like "*NS" Or _ 
    X Like "*NF" Or _ 
    X Like "*PE" Then 

    Debug.Print "X is in the Maritimes" 
End If 

如果您在宏的开头设定Option Compare Text,你不必Ucase被测试的字符串。

对于复杂的比较,可以在VBA中使用正则表达式。您需要设置适当的参考。