有没有更好的方法在 VBA 中对此进行编码:
If x = 'a' or x = 'b' or x ='c' or x = 'd' then
...action
End if
IN 关键字在这里会非常方便:
If x IN ('a','b','c','d') then
action
End If
--> 但 VBA 无法识别 IN。语法中是否有替代关键字?谢谢!
有没有更好的方法在 VBA 中对此进行编码:
If x = 'a' or x = 'b' or x ='c' or x = 'd' then
...action
End if
IN 关键字在这里会非常方便:
If x IN ('a','b','c','d') then
action
End If
--> 但 VBA 无法识别 IN。语法中是否有替代关键字?谢谢!
FILTER()函数的目的是查看一个项目是否出现在数组中:
Sub FilterExample()
ary = Split("a,b,c,d", ",")
x = "b"
If Filter(ary, x)(o) <> "" Then
MsgBox "match found"
End If
End Sub
未找到匹配项时,Gary 的学生当前形式的答案将导致错误。我相信以下更好:
x = "a"
If UBound(Filter(Array("a", "b", "c", "d"), x)) > -1 Then
MsgBox "Match found"
End If
我确实评论说,当 x 是一个空字符串时,过滤器函数会返回整个数组。因此,如果 x 是一个空字符串,上面将始终返回一个匹配项。以下说明了这一点
x = "a"
If UBound(Filter(Array("a", "b", "c", "d"), x)) > -1 And x <> vbNullString Then
MsgBox "Match found"
End If