VBA Çıkış Alt veya İşlevi

VBA'da, aşağıdakileri kullanarak bir Alt veya İşlevden çıkabilirsiniz. Alt Çıkış veya Çıkış Fonksiyonu komutlar.

1 Alt Çıkış
1 Çıkış Fonksiyonu

Kodun yürütülmesi söz konusu olduğunda Alt Çıkış veya Çıkış Fonksiyonu, bir Alt veya İşlevden çıkar ve diğer herhangi bir kod yürütmesine devam eder.

Bir Sub on Error'dan nasıl çıkılacağını öğrenmek istiyorsanız, şu bağlantıya tıklayın: VBA On Error Exit Sub

Tüm kod yürütmeyi nasıl sonlandıracağınızı öğrenmek istiyorsanız, şu bağlantıya tıklayın: VBA End

VBA'da bir Sub'dan çıkın

Kullandığımızda ne olduğunu örnekte göreceksiniz. Alt Çıkış bir Sub'da komut. Bir Alt oluşturduk ExitSubsahip olan Alt Çıkış içeri buyurun. AltÇağrıÇıkışSub bu Sub'ı çağırır. İşte kod:

123456789101112131415161718 Özel Alt ExitSub()Dim i Tamsayı Olaraki = 1 ila 10 içinEğer ben = 5 O zamanAlt ÇıkışMsgBox "i'nin değeri" & iBitirsonraki benAlt BitişÖzel Alt ÇağrıExitSub()ExitSub'ı arayınMsgBox "Alt Çıkış"Alt Bitiş

İçinde ExitSubi'nin değeri 10'dan küçükse önce For Loop'a giriyoruz:

123 i = 1 ila 10 içinsonraki ben

Bundan sonra If komutunu kullanarak i'nin değerinin 5'e eşit olup olmadığını kontrol ederiz. Değer 5 ise, Sub'dan çıkmak ve i değeri ile Mesaj kutusuna dönmek istiyoruz:

1234 Eğer ben = 5 O zamanAlt ÇıkışMsgBox "i'nin değeri" & iBitir

Koşul karşılanmazsa, aşağıdaki ifade i'yi 1 artırır ve For döngüsüne tekrar girer:

1 sonraki ben

İçinde ÇağrıÇıkışSub, önce Sub'ı çağırıyoruz ExitSub:

1 ExitSub'ı arayın

Bundan sonra Mesaj kutusuna dönüyoruz:

1 MsgBox "Alt Çıkış"

çalıştırırsanız ÇağrıÇıkışSub, ilk olarak arayacak ExitSub. Bu kodu debug modunda çalıştırırsanız 5 kez döngüden geçeceğini göreceksiniz. 5'teNS yineleme, i değişkeninin değeri 5 olur ve kod If gövdesine girer. Şimdi Alt ExitSub çıkılır ve tekrar ÇağrıÇıkışSub. Bir sonraki satır MsgBox "Alt Çıkış":

Gördüğünüz gibi, ExitSub hemen sonra çıkılır Alt Çıkış komut, yani MsgBox “i'nin değeri” & i asla idam edilmeyecektir.

VBA'da bir İşlevden Çık

VBA'da bir işlevden çıkmak, bir Sub'dan çıkmakla benzerdir, sadece komut Çıkış Fonksiyonu. Örnekte, oluşturduğumuz ÇıkışFunc hangi bir tamsayı döndürür. Alt ÇağrıÇıkışFonksiyonu bu işlevi çağırır. İşte kod:

1234567891011121314151617181920 Tamsayı Olarak ExitFunc() Özel İşleviDim i Tamsayı Olaraki = 1 ila 10 içinEğer ben = 5 O zamanExitFunc = benÇıkış FonksiyonuBitirsonraki benBitiş İşleviÖzel Alt CallExitFunction()Tamsayı Olarak Dim intFuncintFunc = ExitFunction()MsgBox "intFunc'ın değeri " & intFuncAlt Bitiş

İçinde ÇıkışFunci'nin değeri 10'dan küçükse önce For Loop'a giriyoruz:

123 i = 1 ila 10 içinsonraki ben

Bundan sonra If komutunu kullanarak i'nin değerinin 5'e eşit olup olmadığını kontrol ederiz. Değer 5 ise fonksiyon sonucuna i değerini atarız ve fonksiyondan çıkarız:

1234 Eğer ben = 5 O zamanExitFunc = benÇıkış FonksiyonuBitir

Koşul karşılanmazsa, aşağıdaki ifade i'yi 1 artırır ve For döngüsüne tekrar girer:

1 sonraki ben

İçinde ÇağrıÇıkışFonksiyonu, önce fonksiyonu çağırıyoruz ÇıkışFunc: Bunu yapmak için değişkeni bildirmeliyiz intFunc tamsayı yazın ve sonucunu atayın ÇıkışFunc ona işlev:

123 Tamsayı Olarak Dim intFuncintFunc = ExitFunction()

Bundan sonra Mesaj kutusuna değeriyle geri dönüyoruz. intFunc:

1 MsgBox "intFunc'ın değeri " & intFunc

çalıştırırsanız ÇağrıÇıkışFonksiyonu, önce işlevi çağıracak ÇıkışFunc. Bu kodu debug modunda çalıştırırsanız 5 kez döngüden geçeceğini göreceksiniz. 5'teNS yineleme, i değişkeninin değeri 5 olur ve kod If gövdesine girer. Şimdi değeri ÇıkışFunc i olur ve fonksiyondan çıkılır ve ÇağrıÇıkışFonksiyonu. Bir sonraki satır MsgBox “intFunc'ın değeri ” & intFunc:

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave