VBA'da Hata Ayıklama: Debug ve Breakpoint Kullanımı

VBA'da yazdığın kod beklendiği gibi çalışmıyorsa, Debug penceresini ve breakpoint'leri kullanarak hatanın kaynağını hızlıca bulabilirsin. Bu araçlar, kodun hangi satırda ne değer taşıdığını görerek sorunu tespit etmeyi kolaylaştırır.

Debug.Print, belirttiğin değişken veya ifadenin değerini Debug penceresine yazdırır. Böylece kodun çalışırken hangi değerleri aldığını izleyebilirsin. Örneğin bir döngü içinde sayaç değişkenini takip etmek istiyorsan Debug.Print kullanabilirsin.

1Sub HatayiBul()
2Dim toplam As Integer
3Dim i As Integer
4
5toplam = 0
6For i = 1 To 5
7toplam = toplam + i
8Debug.Print "i = " & i & ", toplam = " & toplam
9Next i
10
11MsgBox "Toplam: " & toplam
12End Sub

Bu kodu çalıştırıp Ctrl+G (veya View > Debug Window) ile Debug penceresini açarsan şunu göreceksin:

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası
1i = 1, toplam = 1
2i = 2, toplam = 3
3i = 3, toplam = 6
4i = 4, toplam = 10
5i = 5, toplam = 15

Breakpoint ise kodun belirli bir satırında duraklamasını sağlar. Kodun o noktasındaki tüm değişkenleri inceleyebilirsin. Breakpoint eklemek için satır numarasının solundaki boş alana tıkla veya F9 tuşuna bas.

1Sub BreakpointOrnegi()
2Dim deger As Integer
3Dim sonuc As Integer
4
5deger = 10
6sonuc = deger * 2 ' Buraya breakpoint koy (F9)
7sonuc = sonuc + 5
8
9MsgBox "Sonuç: " & sonuc
10End Sub

Breakpoint'e gelince kod durur. Locals penceresinde (View > Locals Window) tüm değişkenleri görebilirsin. F8 ile satır satır ilerle, F5 ile devam et.

Sık yapılan hata: Debug.Print satırlarını üretim kodunda unutmak. Hata ayıklamayı bitirdikten sonra bu satırları sil veya yorum yap. Ayrıca çok sayıda Debug.Print kullanırsan kod yavaşlayabilir.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz