当我满足条件时,我想退出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
答案 0 :(得分:305)
要提前退出循环,您可以使用Exit For
If [condition] Then Exit For
答案 1 :(得分:23)
提前退出For循环的另一种方法是更改循环计数器:
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
答案 2 :(得分:0)
以下给出的第一个答案确实是i.m.o。最佳做法:
if i = 0 then exit for
但是,这也是一种选择:
Sub some()
Count = 0
End_ = ThisWorkbook.Sheets(1).Range("B1047854").End(xlUp).Row
While Count < End_ And Not ThisWorkbook.Sheets(1).Range("B" & Count).Value = "Artikel"
Count = Count + 1
If ThisWorkbook.Sheets(1).Range("B" & Count).Value = "Artikel" Then
ThisWorkbook.Sheets(1).Range("A1:Z" & Count - 1).EntireRow.Delete Shift:=xlToLeft
End If
Wend
End Sub