Excel VBA: salir del bucle
Me gustaría salir de mi for
bucle cuando se cumpla una condición interna. ¿ Cómo podría salir de mi for
bucle cuando if
se cumple la condición? Creo que hay algún tipo de salida al final de mi if
declaración, pero no sé cómo funcionaría.
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
Aceptado
Para salir temprano de su ciclo, puede usarExit For
If [condition] Then Exit For
Otra forma de salir temprano de un bucle For es cambiando el contador del bucle:
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
La primera respuesta dada con lo siguiente es, de hecho, la mejor práctica en mi opinión:
if i = 0 then exit for
Sin embargo, esta también es una opción:
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