Excel VBA - 具有特定值的循环

时间:2017-09-21 14:26:36

标签: excel vba excel-vba for-loop

我试图创建一个For循环,它只选择一些值,但不能算出语法,或者它是否可能?

我希望它像

Dim i As Integer
For i = 1,3,8,15 Then
Do something
Next i

任何想法?

5 个答案:

答案 0 :(得分:5)

尝试

Sub Demo()
    Dim indexArr As Variant
    Dim i As Long

    indexArr = Array(1, 3, 8, 15)
    For i = LBound(indexArr) To UBound(indexArr)
        Debug.Print indexArr(i)
    Next i
End Sub

答案 1 :(得分:4)

你不能。

如果有模式,您可以使用Step

For i = 1 to 15 Step 2

哪个1,3,5,7,...

在这种情况下,由于没有模式,您需要添加IfSelect Case

Dim i As Integer
For i = 1 to 15 Then
    Select Case i
        Case 1,3,8,15
             'Do Something
    End Select
Next i

答案 2 :(得分:2)

您可以使用if语句:

Dim i As Integer
For i = 1 To 15 Then
    If i = 1 or i = 3 or i = 8 or i = 15 Then
        'Do something
    End If
Next i

希望得到这个帮助。

答案 3 :(得分:0)

Dim number_list as collection
set number_list = new collection

number_list.add 1
number_list.add 3
number_list.add 8
number_list.add 15

for each number in number_list
    'Do something with number
Next number

答案 4 :(得分:0)

您可以执行以下操作:

    Dim i as Variant
    Dim iArray as Variant
    iArray=Array(1,3,8,15)

    For Each i In iArray
         'Do Something
    Next i

欢呼