Excel'de vba exit sub nasıl kullanılır?
VBA Exit Sub, bir alt prosedürden veya işlevden çıkmak için kullandığınız bir ifadedir. Bildiğiniz gibi her satır birbiri ardına çalışan bir makrodur ve “Exit Sub” VBA’yı eklediğinizde kendisinden sonra gelen kodun geri kalanını çalıştırmadan prosedürden çıkın. Bu, döngüler ve mesaj kutusuyla en iyi şekilde çalışır.
VBA’da Çıkış Alt İfadesini Kullanma
- Öncelikle “Exit Sub”ı hangi satıra eklemek istediğinize karar verin.
- Bundan sonra, kodu çalıştırdığınızda yürütülecek kodun yapısını kontrol edin.
- Daha sonra “Alt Çıkış”a girin.
- Sonuçta, “Exit Sub” ifadesini neden kullandığınızı açıklayan bir yorum yapmak en iyisidir.
Not: Bir VBA işlevi prosedüründe kullanmanız gereken ifade “Çıkış İşlevi”dir.
Exit Sub’ı Mesaj Kutusu ve Giriş Kutusuyla Kullanma
Kullanıcıdan bir giriş kutusuyla girdi almak istediğinizi ve kullanıcının yanıtı bir sayı değilse prosedürden çıkmak istediğinizi varsayalım (aşağıdaki örneği düşünün).
Yukarıdaki kodda, giriş kutusuna girilen değerin sayı olup olmadığını kontrol eden ISNUMERIC vardır ve bu değer bir sayı değilse, bir mesaj kutusu görüntüledikten sonra prosedürü tamamlamak için Exit ifadesini Sub kullanır.
Sub vba_exit_sub_example() If IsNumeric(InputBox("Enter your age.", "Age")) = False Then MsgBox "Error! Enter your Age in numbers only." Exit Sub Else MsgBox "Thanks for the input." End If End Sub
Hata durumunda Alttan Çıkış
“Alttan Çıkış”ın en iyi yanlarından biri, bunu bir hata oluştuğunda prosedürden çıkmak için kullanabilirsiniz. Aşağıda bir sayıyı sıfıra bölen, “Çalışma Zamanı Hatası ’11′” döndüren ve yürütmeyi durduran kod verilmiştir.
Burada, prosedürden çıkmak için “Exit Sub” ile bir hata işleyicisi oluşturmak üzere GoTo deyimini kullanabilirsiniz (aşağıdaki kodu göz önünde bulundurun).
Sub vba_exit_sub_on_error() On Error GoTo iError Range("A1") = 10 / 0 iError: MsgBox "You can't divide with the zero." & _ "Change the code." Exit Sub End Sub
Yukarıdaki kodda, bir mesaj kutusuyla birlikte “iError” ve ardından “Exit Sub” deyimi gibi bir hata işleyiciniz var. Hesaplama sırasında bir hata oluştuğunda, goto ifadesi hata işleyicisine ( VBA Error Handling ) geçer ve prosedürden çıkar.