Vba: hata durumunda sub'dan nasıl çıkılır
Bir hatayla karşılaşıldığında alt prosedürden çıkmak için VBA’da Exit Sub deyimini kullanabilirsiniz.
Bu ifadeyi pratikte kullanmanın yaygın bir yolu şudur:
Sub DivideValues()
Dim i As Integer
On Error GoTo ErrorMessage
For i = 1 To 10
Range(" C " & i) = Range(" A " & i) / Range(" B " & i)
Next i
Exit Sub
Error Message:
MsgBox “ An Error Occurred ”
Exit Sub
End Sub
Bu özel makro, A1:A10 aralığındaki her değeri B1:B10 aralığında karşılık gelen değere bölmeye çalışır.
Bir hata oluşursa (örneğin, sıfıra bölmeye çalışıyoruz), On Error GoTo ifadesi VBA’ya ErrorMessage’a erişmesini söyler; bu da kullanıcıya bir hata oluştuğunu bildiren bir mesaj kutusu oluşturmasını ve Exist Sub’ı kullanarak alt prosedürü sonlandırmasını söyler. . beyan. beyan.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: VBA’da hata durumunda bir alt nasıl bulunur?
A ve B sütunlarında aşağıdaki değerler listesine sahip olduğumuzu varsayalım:
Şimdi A sütunundaki her değeri B sütunundaki karşılık gelen değere bölmek ve sonuçları C sütununda görüntülemek için aşağıdaki makroyu oluşturduğumuzu varsayalım:
Sub DivideValues()
Dim i As Integer
For i = 1 To 10
Range(" C " & i) = Range(" A " & i) / Range(" B " & i)
Next i
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki hatayı alıyoruz:
Bu hatayı Excel sayfasının dördüncü satırında sıfıra bölmeye çalıştığımız için alıyoruz.
Bu hata oluştuğunda basitçe alt prosedürden çıkmak istiyorsak Exit Sub deyimini aşağıdaki gibi kullanabiliriz:
Sub DivideValues()
Dim i As Integer
On Error GoTo ErrorMessage
For i = 1 To 10
Range(" C " & i) = Range(" A " & i) / Range(" B " & i)
Next i
Exit Sub
Error Message:
MsgBox “ An Error Occurred ”
Exit Sub
End Sub
Bu makroyu çalıştırdığımızda, alt prosedür bir hatayla karşılaşmadan önce olası tüm bölme sorunlarını yapar, ardından bize bir hata oluştuğunu ve alt prosedürde VBA’nın mevcut olduğunu bildiren bir mesaj kutusu görüntülenir:
Not : VBA’daki Exit ifadesinin tam belgelerini burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA Kullanarak Klasörler Nasıl Oluşturulur
VBA kullanarak klasörler nasıl silinir
VBA kullanarak dosyalar nasıl silinir