Saya ingin keluar dari for
loop saya ketika kondisi di dalamnya terpenuhi. Bagaimana saya bisa keluar dari for
loop saya ketika if
kondisi telah terpenuhi? Saya pikir semacam jalan keluar di akhir if
pernyataan saya , tetapi tidak tahu bagaimana itu akan berhasil.
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
If [condition] Then Exit For
di dalam lingkaran AndaJawaban:
Untuk keluar dari loop Anda lebih awal, Anda dapat menggunakan
Exit For
If [condition] Then Exit For
sumber
Exit
Pernyataan VBA memiliki opsi lebih sedikit daripada VB.NET. Bahkan, VBA hanya mendukung:Exit Do
Exit For
Exit Function
Exit Property
danExit Sub
. VBA tidak punyaExit While
. Tautan yang benar adalah: Referensi VBA OfficeCara lain untuk keluar dari For loop lebih awal adalah dengan mengubah penghitung loop:
sumber
For Each
loop.For
loop (bukanFor Each
). Pro dan kontra berlaku untuk solusi yang berbeda dan situasi yang berbeda - misalnya ini adalah format yang lebih kuat daripadaGo To label
yang mengerem logika (pemrograman non-terstruktur), atau kemungkinan penyelesaianContinue
kata kunci, hilang dalam VBA. Kelebihan dariExit For
dapat dipertanyakan juga jika logika tidak melakukan pembersihan objek yang tepat - implementasi yang buruk tidak cukup relevan di sini (@ jpmc26)Jawaban pertama yang diberikan berikut ini memang merupakan praktik terbaik:
Namun, ini juga merupakan opsi:
sumber