Sub Keluar VBA

Sub Keluar VBA

Sub Prosedur Exit VBA Excel

Exit Sub keluar dari sub prosedur lebih awal dari baris kode VBA yang ditentukan. Pertama, kita perlu menerapkan tes logika untuk keluar dari sub prosedur.

Mari kita membangun ini dalam istilah sederhana.

Sub MacroName() ‘… ‘Beberapa kode di sini’… Keluar dari Sub ‘Keluar dari Sub tanpa mengeksekusi baris kode lebih lanjut di bawah ini’… ‘Kode ini akan diabaikan ‘… Akhir Sub

Contoh

Contoh 1

Untuk contoh yang lebih baik, lihat kode di bawah ini.

Kode:

Sub Exit_Example1() Dim k Selama k = 1 To 10 Cells(k, 1).Value = k Next k End Sub

Kode di atas akan memasukkan nomor seri dari 1 hingga 10 di sel A1 hingga A10.

Sekarang, kami hanya ingin memasukkan 5 nomor seri. Segera setelah nilai variabel “k” menjadi 6, kami ingin keluar dari sub.

Kita harus menambahkan tes logis di excelLogical Test In ExcelSebuah tes logis di Excel menghasilkan output analitik, benar atau salah. Setara dengan operator, ‘=,’ adalah uji logika yang paling umum digunakan. Baca selengkapnya sebagai IF k = 6 Then Exit Sub .

Kode:

Sub Exit_Example1() Dim k Selama k = 1 Sampai 10 Jika k = 6 Kemudian Exit Sub ‘Begitu nilai k menjadi 6 maka akan mengabaikan semua kode dan keluar Cells(k, 1).Value = k Next k End Sub

Sekarang, jalankan kode baris demi baris. Terakhir, tekan tombol F8 untuk memulai proses.

Sampai sekarang, nilai k adalah nol.

Untuk mengubah nilai k menjadi 1, tekan tombol F8 lagi.

Jadi, nilai k adalah 1. Kode kita tetap berjalan dan akan memasukkan 1 ke sel A1. Seperti ini, terus jalankan loop hingga nilai k menjadi 6.

Sekarang, nilai k adalah 6. Baris kode akan mengeksekusi pengujian logika kita untuk keluar dari subprosedur. Jika kita menekan tombol F8 sekali lagi, maka akan langsung masuk ke seluruh sub prosedur saja.

Seperti yang bisa kita lihat, kata ‘Exit Sub’ telah disorot. Setelah menekan tombol F8, itu akan keluar dari sub prosedur tanpa pergi ke kata ‘End Sub.’

Contoh #2 – Saat Error Keluar dari Subprosedur

Kita juga bisa keluar dari sub prosedur ketika kita mendapatkan nilai error. Misalnya, perhatikan data di bawah ini untuk membagi angka1 dari 2.

Di bawah ini adalah kode untuk mendapatkan pembagian dua angka.

Kode:

Sub Exit_Example2() Dim k Selama k = 2 Sampai 9 Cells(k, 3).Value = Cells(k, 1).Value / Cells(k, 2).Value Next k End Sub

Seperti yang kita ketahui, kita tidak dapat membagi angka apa pun dengan nol. Jadi, jika kita mencoba melakukan itu, kita akan mendapatkan error “Run-time error ’11’: Division by zero.”

Untuk menghindarinya, segera setelah kami menemukan kesalahan, kami akan segera menyebutkan makro saya untuk keluar dari sub prosedur. Kode di bawah ini adalah salah satu kasusnya.

Kode:

Sub Exit_Example2() Dim k Selama k = 2 Sampai 9 On Error GoTo ErrorHandler Cells(k, 3).Value = Cells(k, 1).Value / Cells(k, 2).Value Next k ErrorHandler: Exit Sub Akhir Sub

Dalam contoh di atas, kami telah menyebutkan pernyataan “On Error Goto ErrorHandler.” Di sini, kata “ErrorHandler” adalah label yang telah kami tetapkan. Seperti yang Anda lihat di bagian bawah kode, kami telah menyebutkan mereknya sebagai:

ErrorHandler: Keluar dari Sub

Segera setelah kode menemukan kesalahan, itu akan mendorong kode untuk melompat ke label, dan merek memiliki pernyataan “Keluar dari Sub” sehingga akan keluar dari subprosedur.

Sekarang, kita akan menjalankan kodenya. Pertama, ia akan menghitung pembagian hingga menemukan kesalahan.

Seperti yang Anda lihat di sel C7, terjadi kesalahan sebagai “Pembagian dengan nol”, sehingga keluar dari subprosedur. Namun, keluar dari sub prosedur selalu berbahaya tanpa memberi tahu pengguna. Oleh karena itu, kami dapat menyertakan kotak pesan kecil untuk memberi tahu pengguna tentang kesalahan tersebut.

Kode:

Sub Exit_Example2() Dim k Selama k = 2 Sampai 9 On Error GoTo ErrorHandler Cells(k, 3).Value = Cells(k, 1).Value / Cells(k, 2).Value Next k ErrorHandler: MsgBox ” Terjadi kesalahan dan kesalahannya adalah:” & vbNewLine & Err.Description Exit Sub End Sub

Kode di atas akan menampilkan pesan kesalahan dan kemudian keluar dari subprosedur. Saat menjalankan kode, jika terjadi kesalahan, maka akan muncul kotak pesan di Kotak VBAMessage Pada fungsi VBAVBA MsgBox adalah fungsi keluaran yang menampilkan pesan umum yang disediakan oleh pengembang. Pernyataan ini tidak memiliki argumen dan pesan yang dipersonalisasi dalam fungsi ini ditulis di bawah tanda kutip ganda sedangkan untuk nilai referensi variabel disediakan. Baca lebih lanjut seperti di bawah ini.

Ini lebih merupakan cara yang dapat diandalkan untuk keluar dari prosedur Sub.

Artikel yang Direkomendasikan

Artikel ini adalah panduan untuk Prosedur Keluar VBA. Di sini, kami membahas cara keluar dari sub prosedur VBA ketika terjadi kesalahan pada kode dengan contoh dan lembar Excel yang dapat diunduh. Anda dapat mempelajari lebih lanjut tentang VBA dari artikel berikut: –

  • VBA On Error GoTo
  • Lembar Hapus VBA
  • Break Point di Excel VBA
  • Lakukan Hingga Loop di Excel VBA
  • Jenis Argumen VBA ByRef Ketidakcocokan

Related Posts