例如,我有一个两个数字0,1的列表,我想在vba中运行一个脚本,如下所示:
for i in list:
if i in string:
do something
end if
即。我想先检查一下" 0"在某些字符串中,然后做一些事情,然后检查是否" 1"在字符串然后做一些事情等。在python中我会有一个元组[" 0"," 1"]并且这样做,但我怎么会在VBA中这样做?
答案 0 :(得分:4)
For Each i In Array("0", "1", "2", "3")
If InStr("1289", i) Then
'// Do Something
End If
Next
类似地:
Dim list As Variant
Dim someString As String
someString = "1289"
list = Array("0", "1", "2", "3")
For Each i In list
If InStr(someString, i) Then
'// Do Something
End If
Next
奖金说明:
InStr()
实际上没有返回True/False
它返回从左到右读取的另一个字符串中的子字符串的起始位置。但是,在这种情况下,我们可以依靠VBA的隐式转换来评估大于0
的任何内容True
,因为它在If
语句中使用。< / p>