For Loop,如何跳过迭代

时间:2013-09-26 22:17:57

标签: vb.net

我试图找出如何跳过For循环的迭代。我做了一些研究,发现我可以使用Continue For,但这并不能解决我的问题。这是我想做的一个例子:

For i As Long = 1 to 7 Step 1
    If (i= 2, 5 and 7) Then
        'perform this action
    Else
        'perform other action.
    End If
Next i

我制定了以下内容,但不幸的是,它适用于我的循环的<= 2Else部分以及57,执行相同的操作正如我在Else部分要求做的那样。

For i As Long = 1 To 7 Step 1
    If (i <= 2 AndAlso 5 AndAlso 7) Then
        strRange = ("A:D")
    Else
        strRange = ("A:A")
    End If

    xlRefSheets = ClientSheets(i)

    With xlRefSheets
        .Cells.EntireColumn.AutoFit()
        .Range(strRange).EntireColumn.Hidden = True
    End With
Next i

1 个答案:

答案 0 :(得分:2)

如何将if子句重新设置为

If (i <= 2) or (i = 5) or ( i =7)  Then
   ...

所以你的代码变成了:

  For i As Long = 1 To 7 Step 1
    If (i <= 2) OR (i = 5) OR (i = 7) Then
        strRange = ("A:D")
    Else
        strRange = ("A:A")
    End If

    xlRefSheets = ClientSheets(i)
    With xlRefSheets
        .Cells.EntireColumn.AutoFit()
        .Range(strRange).EntireColumn.Hidden = True
    End With
  Next i
相关问题