VBA - 有类似列表的东西吗?

时间:2016-08-03 12:47:47

标签: vba excel-vba excel

例如,我有一个两个数字0,1的列表,我想在vba中运行一个脚本,如下所示:

for i in list:
    if i in string:
       do something
    end if

即。我想先检查一下" 0"在某些字符串中,然后做一些事情,然后检查是否" 1"在字符串然后做一些事情等。在python中我会有一个元组[" 0"," 1"]并且这样做,但我怎么会在VBA中这样做?

1 个答案:

答案 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>