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
답변
루프를 일찍 종료하려면 다음을 사용할 수 있습니다. Exit For
If [condition] Then Exit For
답변
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
답변
다음과 같은 첫 번째 대답은 실제로 imo 모범 사례입니다.
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