web-dev-qa-db-ja.com

Excel VBA - ループ終了

内部の条件が満たされたら、forループを終了します。 for条件が満たされたとき、どうやってifループを終了できますか?私は私のifステートメントの終わりにある種の出口を考えますが、それがどのように機能するのか知りません。

Dim i As Long
For i = 1 To 50
    Range("B" & i).Select
    If Range("B" & i).Value = "Artikel" Then
        Dim temp As Long
        temp = i
    End If
Next i
Range("A1:Z" & temp - 1).EntireRow.Delete Shift:=xlToLeft
158
CustomX

ループを早く終了するためにはExit Forを使うことができます。

If [condition] Then Exit For

305
Dan

Forループを早く終了するもう1つの方法は、ループカウンタを変更することです。

For i = 1 To 10
    If i = 5 Then i = 10
Next i

Debug.Print i   '11

For i = 1 To 10
    If i = 5 Then Exit For
Next i

Debug.Print i   '5
23
paul bica