Değerli ExcelCozum üyeleri ve VBA geliştirmeye gönül veren dostlarımız,Yazdığınız makrolar kendi bilgisayarınızda sorunsuz çalışırken, başka bir kullanıcının bilgisayarında veya veri setinde en ufak bir sapma olduğunda Runtime Error vererek patlıyor mu? Bir kodun profesyonelce yazılıp yazılmadığını gösteren en büyük kriter, o kodun hatalar karşısında nasıl davrandığıdır.Bu makalemizde, makrolarınızın yarıda kesilmesini önleyen ve hataları arka planda sessizce çözen VBA Hata Yakalama (Error Handling) mekanizmalarını A'dan Z'ye inceliyoruz.
1. On Error Resume Next (Hataları Görmezden Gelme)
Kod satır satır çalışırken bir hata ile karşılaşırsa, o satırı hiç umursamaz ve bir sonraki satırdan çalışmaya devam eder. Genellikle sayfa silerken çıkan uyarıları veya döngü içinde bulunamayan değerleri atlamak için kullanılır.⚠️
Kritik Uyarı: Kodun tamamında bunu kullanırsanız, mantıksal hataları gözden kaçırırsınız. Sadece hatanın beklendiği satırdan önce açıp, hemen sonra kapatmalısınız.
HTML:
2. On Error GoTo [Etiket] (Hata Yönetim Merkezi)
En profesyonel yöntemdir. Kod çalışırken herhangi bir satırda hata oluşursa, kodun akışı anında sizin belirlediğiniz bir alt bölüme (HataAlani:) sıçrar.
HTML:
3. Resume ve Resume Next Komutları ile Akışı Yönetme
Hata alanına düştükten sonra, hatayı düzeltip koda kaldığı yerden devam ettirmek veya hatanın olduğu satırı atlatmak için kullanılır.
Keyifli kodlamalar.
1. On Error Resume Next (Hataları Görmezden Gelme)
Kod satır satır çalışırken bir hata ile karşılaşırsa, o satırı hiç umursamaz ve bir sonraki satırdan çalışmaya devam eder. Genellikle sayfa silerken çıkan uyarıları veya döngü içinde bulunamayan değerleri atlamak için kullanılır.⚠️
Kritik Uyarı: Kodun tamamında bunu kullanırsanız, mantıksal hataları gözden kaçırırsınız. Sadece hatanın beklendiği satırdan önce açıp, hemen sonra kapatmalısınız.
HTML:
2. On Error GoTo [Etiket] (Hata Yönetim Merkezi)
En profesyonel yöntemdir. Kod çalışırken herhangi bir satırda hata oluşursa, kodun akışı anında sizin belirlediğiniz bir alt bölüme (HataAlani:) sıçrar.
HTML:
3. Resume ve Resume Next Komutları ile Akışı Yönetme
Hata alanına düştükten sonra, hatayı düzeltip koda kaldığı yerden devam ettirmek veya hatanın olduğu satırı atlatmak için kullanılır.
- Resume: Hataya neden olan satırı, hatayı giderdikten sonra yeniden çalıştırmayı dener.
- Resume Next: Hataya neden olan satırı bırakıp, bir sonraki satırdan koda kaldığı yerden devam ettirir.
Keyifli kodlamalar.