hor*_*_vr 9 excel vba if-statement
我想写一个像这样的IF语句:
if var [is any of 1,4,5,6,12] then do stuff
Run Code Online (Sandbox Code Playgroud)
但我不知道VBA中的语法,除了:
if var=1 or var=4 or var=5...
Run Code Online (Sandbox Code Playgroud)
这看起来有点笨拙.有不同的方式吗?
psy*_*ola 14
您可以使用Select Case语句:
select case var
case 1,4,5,6,12
'do something
case else
'alternative
end select
Run Code Online (Sandbox Code Playgroud)
我参加“派对”有点晚了,但是怎么样:
If InStr(1, ",1,5,8", "," & lVal1, vbTextCompare) > 0 Then
Run Code Online (Sandbox Code Playgroud)
检查“lVal1”是否等于 1、5 或 8。
和
If InStr(1, ",6,8,10,12", "," & lVal2, vbTextCompare) = 0 Then
Run Code Online (Sandbox Code Playgroud)
检查 'lVal2' 不等于 6、8、10、12。
逗号分隔符很重要,因为如果没有它们,在第一个示例中,如果 'lVal' 能够采用这些值中的一个,'15' 或 '58' 或 '158' 将全部匹配。
如果要检查的值可能存在任何歧义,则需要注意所使用的分隔符。
同样,使用您对将遇到的值范围的了解,可以删除第一个字符串中前导分隔符的笨拙以及将分隔符连接到搜索值的前面。