Vba: cara keluar dari sub jika terjadi kesalahan
Anda dapat menggunakan pernyataan Exit Sub di VBA untuk keluar dari subprosedur ketika terjadi kesalahan.
Berikut adalah cara umum untuk menggunakan pernyataan ini dalam praktik:
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
Makro khusus ini mencoba membagi setiap nilai dalam rentang A1:A10 dengan nilai terkait dalam rentang B1:B10 .
Jika terjadi kesalahan (misalnya, kita mencoba membagi dengan nol), maka pernyataan On Error GoTo memberitahu VBA untuk mengakses ErrorMessage , yang memerintahkan untuk menghasilkan kotak pesan yang memberi tahu pengguna bahwa terjadi kesalahan dan menghentikan subprosedur menggunakan Exist Sub . pernyataan.pernyataan.
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh: Bagaimana cara membuat sub jika terjadi error pada VBA
Misalkan kita memiliki daftar nilai berikut di kolom A dan B:
Sekarang misalkan kita membuat makro berikut untuk membagi setiap nilai di kolom A dengan nilai terkait di kolom B dan menampilkan hasilnya di kolom C:
Sub DivideValues()
Dim i As Integer
For i = 1 To 10
Range(" C " & i) = Range(" A " & i) / Range(" B " & i)
Next i
End Sub
Saat kami menjalankan makro ini, kami menerima kesalahan berikut:
Kami menerima kesalahan ini karena pada baris keempat lembar Excel kami mencoba membagi dengan nol.
Jika kita hanya ingin keluar dari subprosedur ketika kesalahan ini terjadi, kita dapat menggunakan pernyataan Exit Sub sebagai berikut:
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
Ketika kita menjalankan makro ini, sub-prosedur melakukan semua kemungkinan masalah pembagian sebelum menemui kesalahan, kemudian muncul kotak pesan yang memberitahu kita bahwa kesalahan telah terjadi dan VBA hanya ada di sub-prosedur:
Catatan : Anda dapat menemukan dokumentasi lengkap pernyataan Exit di VBA di sini .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di VBA:
Cara Membuat Folder Menggunakan VBA
Cara menghapus folder menggunakan VBA
Cara menghapus file menggunakan VBA