Lompat ke konten utama
←

Makro dan VBA Excel

Pelajaran 9 dari 14

Variabel dan alur logika

For…Next, For Each, dan Do While

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
Pilih satu jawaban

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
Pilih satu jawaban

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
Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Lanjutkan ke