Lompat ke konten utama
←

Makro dan VBA Excel

Pelajaran 13 dari 14

Prosedur, galat, dan debugging

Debugging dan membaca kode orang lain

Setelah pelajaran ini kamu bisa memilih alat debugging yang tepat (titik henti, Stop, Step Into, Step Over, Locals, Immediate, Debug.Print) dan membaca makro buatan orang lain secara berurutan.

  • ±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

Saat makro berhenti karena galat dan kamu memilih Debug, Visual Basic Editor masuk mode jeda (break mode) dan menyorot kuning baris yang gagal. Dalam mode jeda, nilai variabel bisa diperiksa sebelum memutuskan perbaikan.

Titik henti (breakpoint) menjeda eksekusi saat sampai di baris itu, sebelum baris itu dijalankan. Titik henti tidak bisa dipasang pada komentar, deklarasi seperti Dim, atau baris kosong. Pernyataan Stop di dalam kode bekerja serupa titik henti. Step Into menjalankan satu pernyataan setiap kali dan ikut masuk ke prosedur yang dipanggil; Step Over menjalankan prosedur yang dipanggil sebagai satu langkah. Jendela Locals menampilkan semua variabel prosedur yang sedang berjalan beserta nilainya, dan Watch memantau ekspresi pilihanmu.

Jendela Immediate menampilkan keluaran Debug.Print, sehingga nilai antara bisa dicetak tanpa mengubah lembar. Satu baris kode juga bisa diketik di sana lalu dijalankan dengan Enter; dalam mode jeda, Print total menampilkan nilai variabel lokal total.

Membaca kode orang lain berurutan: Option Explicit dan Dim untuk mengenali data yang dipakai, lalu baris yang menyentuh sel, lalu percabangan dan perulangan, lalu On Error yang bisa menelan galat. Komentar (diawali ') menjelaskan maksud, tetapi kodelah yang menentukan perilaku.

For r = 2 To akhir
    Debug.Print "Baris " & r & ": " & Cells(r, 3).Value
    ' Stop    ' buka komentar ini untuk menjeda setiap putaran
Next r

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 1 dari 3

B2, B3, dan B4 berisi 150000, 275000, dan 90000. Apa hasil menjalankan CekTotal?

Sub CekTotal()
    Dim r As Long
    Dim total As Long
    For r = 2 To 4
        total = total + Cells(r, 2).Value
        Debug.Print "Baris " & r & ": " & total
    Next r
End Sub
Pilih satu jawaban

Latihan 2 dari 3

Pada CekTotal, kamu ingin eksekusi berhenti sebelum baris total = total + Cells(r, 2).Value dijalankan untuk pertama kalinya, lalu memeriksa r dan total di jendela Locals. Di baris mana titik henti dipasang?

Sub CekTotal()
    Dim r As Long
    Dim total As Long
    For r = 2 To 4
        total = total + Cells(r, 2).Value
        Debug.Print "Baris " & r & ": " & total
    Next r
End Sub
Pilih satu jawaban

Latihan 3 dari 3

Eksekusi sedang dijeda dan baris TambahOngkir nilai disorot kuning. Apa beda menekan Step Into dan Step Over di titik ini?

' TambahOngkir adalah Sub lain di modul yang sama.
Sub Utama()
    Dim nilai As Double
    nilai = 10000
    TambahOngkir nilai      ' baris yang sedang disorot kuning
    Range("A1").Value = nilai
End Sub
Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Lanjutkan ke