Setelah pelajaran ini kamu bisa menelusuri For…Next dengan Step, For Each atas sel, dan Do While, termasuk nilai penghitung setelah perulangan, sel kosong, dan keluar lebih awal.
±13 menit
3 latihan
Diperiksa 28 Okt 2026
Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya
Materi
For…Next mengulang dengan penghitung: For r = 2 To 11 menjalankan isinya sepuluh kali dengan r bernilai 2 sampai 11. Step mengubah langkahnya, misalnya Step 2, atau Step -1 untuk mundur. Setelah tiap putaran, langkah ditambahkan ke penghitung, sehingga setelah For r = 2 To 11 selesai, r bernilai 12. Bila nilai awal sudah melewati akhir, seperti For r = 10 To 1 tanpa Step -1, isinya tidak dijalankan sama sekali.
For Each mengunjungi setiap anggota koleksi tanpa penghitung: For Each sel In Range("B2:B11") memberi satu sel per putaran.
Do While mengulang selama syaratnya True, cocok bila jumlah putaran belum diketahui, misalnya membaca baris sampai bertemu sel kosong. Syarat di baris Do bisa membuat isinya tidak berjalan sama sekali; syarat di Loop While menjalankan isinya minimal sekali. Lupa memajukan penghitung membuat perulangan tidak berujung; hentikan dengan Esc atau Ctrl+Break. Exit For dan Exit Do keluar lebih awal ke baris setelah Next atau Loop.
Sub CariFaktur()
Dim r As Long
For r = 2 To 500
If Cells(r, 1).Value = "INV-0457" Then Exit For
Next r
Range("F1").Value = r ' baris faktur, atau 501 bila tidak ketemu
End Sub
Latihan
0/3 lulus
Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.
Latihan 1 dari 3
Setelah IsiNomor selesai, sel mana di kolom A yang terisi dan berapa isi C1?
Sub IsiNomor()
Dim r As Long
For r = 2 To 10 Step 3
Cells(r, 1).Value = r
Next r
Range("C1").Value = r
End Sub
Latihan 2 dari 3
Sel C2:C6 berisi stok 12, 3, (kosong), 7, dan 0; kolom D masih kosong. Setelah TandaiStokTipis dijalankan, sel mana di kolom D yang berisi Pesan ulang?
Sub TandaiStokTipis()
Dim sel As Range
For Each sel In Range("C2:C6")
If sel.Value < 5 Then sel.Offset(0, 1).Value = "Pesan ulang"
Next sel
End Sub
Latihan 3 dari 3
Kolom A berisi data di A2:A9, A10 kosong, dan A11:A14 terisi lagi. Di sel mana Data baru ditulis?
Sub TambahData()
Dim r As Long
r = 2
Do While Cells(r, 1).Value <> ""
r = r + 1
Loop
Cells(r, 1).Value = "Data baru"
End Sub