VBA Saat Kesalahan Lanjutkan Berikutnya

VBA Saat Kesalahan Lanjutkan Berikutnya

Excel VBA Pada Kesalahan Lanjutkan Selanjutnya

VBA On Error Resume Berikutnya adalah pernyataan penangan kesalahan. Jika kesalahan terjadi saat menjalankan kode, Anda dapat menggunakan pernyataan ini untuk melanjutkan baris kode berikutnya dengan mengabaikan pesan kesalahan alih-alih menampilkan kesalahan.

Mereka yang menulis kode secara teratur di excel VBA tahu bahwa mereka mungkin mendapatkan kesalahan bahkan setelah menulis kode mahir, tetapi mereka ingin mengabaikan kesalahan itu dan terus menjalankan baris kode berikutnya. Contoh mendapatkan pesan kesalahan adalah ketika fungsi lembar kerja VLOOKUPFungsi Lembar Kerja VLOOKUPFungsi excel VLOOKUP mencari nilai tertentu dan mengembalikan kecocokan yang sesuai berdasarkan pengenal unik. Pengidentifikasi unik secara unik terkait dengan semua catatan database. Misalnya, ID karyawan, nomor daftar siswa, nomor kontak pelanggan, alamat email penjual, dll., adalah pengidentifikasi unik. baca lebih lanjut tidak menemukan nilai pencarian dari larik tabel. Oleh karena itu, itu tidak akan mengembalikan kesalahan #N/A. Sebaliknya, itu akan menimbulkan kesalahan: “Tidak dapat memperoleh properti VLOOKUP dari kelas fungsi lembar kerja.”

Sangat sulit untuk memperbaiki bug jika Anda tidak tahu mengapa kami mendapatkan kesalahan ini. Di VBA, kami memiliki fitur yang disebut ” On Error Resume Next .”

Apa yang Dilakukan Saat Kesalahan Lanjutkan Selanjutnya di VBA?

Ada area tertentu sebagai coder. Pertama, kita tahu ini pasti akan memberikan pesan kesalahan, tetapi kita perlu mengabaikan kesalahan ini untuk terus membaca kode. Jadi, bagaimana cara mengabaikan kesalahan itu adalah keraguan umum yang dimiliki setiap orang.

Kita dapat mengabaikan kesalahan menggunakan pernyataan VBA On Error Resume Next dan melanjutkan baris kode berikutnya.

Contoh 1

Asumsikan Anda memiliki banyak lembar kerja, dan Anda menyembunyikan beberapa di antaranya sebagai bagian dari proyek VBA. Misalnya, di bawah ini adalah lembar kerja yang kami miliki di lembar kerja kami.

Kami telah menulis kode untuk menyembunyikan lembar “Penjualan” dan “Laba”, dan di bawah ini adalah kodenya.

Kode:

Sub On_Error() Worksheets(“Sales”).Visible = xlVeryHidden Worksheets(“Profit 2019”).Visible = xlVeryHidden Worksheets(“Profit”).Visible = xlVeryHidden End Sub

Kami akan mulai menjalankan kode baris demi baris menggunakan tombol F8 .

Jika kita menekan tombol F8 sekali lagi, itu akan menyembunyikan lembar bernama “ Penjualan .”

Sekarang, tekan tombol F8 sekali lagi dan lihat apa yang terjadi.

Kami mendapatkan ‘Subskrip di luar jangkauanSubskrip Di Luar RentangSubskrip di luar jangkauan adalah kesalahan dalam VBA yang terjadi saat kami mencoba mereferensikan sesuatu atau variabel yang tidak ada dalam kode. Sebagai contoh, jika kita tidak memiliki variabel bernama x tetapi menggunakan fungsi msgbox pada x, kita akan menerima subscript out of range error.read more’ error karena baris kode saat ini mengatakan di bawah ini.

Worksheets(“Laba 2019”).Visible = xlVeryHidden

Itu mencoba menyembunyikan lembar kerja bernama ‘ Laba 2019, ‘ tetapi tidak ada lembar kerja dengan nama ‘Laba 2019’.

Dalam kasus ini, jika lembar kerja tidak ada di buku kerja, kita perlu mengabaikan kesalahan dan terus menjalankan kode dengan mengabaikan kesalahan ‘Subskrip di luar jangkauan’.

Baris berikutnya dalam kode mengatakan

Worksheets(“Profit”).Visible = xlVeryHidden

Lembar kerja ini ada di buku kerja ini, jadi kami tidak dapat berpindah ke baris kode ini tanpa mengabaikan kesalahannya.

Kita perlu menambahkan pernyataan “On Error Resume Next” untuk mengabaikan kesalahan ini.

Kode:

Sub On_Error() Saat Kesalahan Lanjutkan Lembar Kerja Berikutnya(“Penjualan”).Terlihat = xlVeryHidden Lembar Kerja(“Laba 2019”).Terlihat = xlVeryHidden Lembar Kerja(“Laba”).Terlihat = xlVeryHidden End Sub

Seperti yang Anda lihat di atas, kami telah menambahkan pernyataan di bagian atas kode sebelum baris apa pun dimulai. Sekarang, jalankan kodenya dan lihat apa yang terjadi.

Sekarang, kita berada di baris yang diberi kesalahan sebelumnya, tekan tombol F8, dan lihat apa yang terjadi.

Kami telah melompat ke baris kode berikutnya tanpa menunjukkan kesalahan apa pun karena pernyataan yang telah kami tambahkan di atas, yaitu pernyataan VBA “On Error Resume Next”.

Contoh #2

Kita akan melihat bagaimana menggunakan pernyataan ini dengan satu contoh lagi. Lihatlah struktur data di bawah ini untuk contoh ini.

Kami memiliki dua tabel di atas. Tabel pertama memiliki “Nama Karyawan” dan detail gaji mereka di tabel kedua. Sayangnya, kami hanya memiliki “Nama Emp”. Jadi dengan menggunakan VLOOKUP, kita perlu mengambil detail gaji dari tabel sebelah kiri.

Di bawah ini adalah kode yang telah kami tulis untuk mengambil detailnya.

Kode:

Sub On_Error1() Dim k Selama k = 2 Sampai 8 Cells(k, 6).Value = WorksheetFunction.VLookup(Cells(k, 5), Range(“A:B”), 2, 0) Next k End Sub

Sekarang, jalankan kode baris demi baris dan lihat apa yang terjadi.

Saat menjalankan kode sel pertama, kami mendapatkan hasil untuk karyawan pertama. Ulangi hal yang sama untuk karyawan kedua juga.

Kali ini kami mendapat pesan kesalahan. Mari kita lihat nama karyawan kedua di atas meja.

Nama karyawan kedua adalah “Gayathri”, tetapi nama ini tidak ada di tabel pertama, jadi fungsi VBA VLOOKUPFungsi VBA VLOOKUPFungsi VLOOKUP di VBA mirip dengan VLOOKUP di lembar kerja, dan metode penggunaan VLOOKUP di VBA adalah melalui aplikasi. Metode WorksheetFunctionread more tidak mengembalikan kesalahan #N/A saat VLOOKUP tidak menemukan nilai pencarian dari tabel. Sebaliknya, itu memberikan pesan kesalahan di atas.

Tujuan kita adalah jika nama karyawan tidak ditemukan dalam tabel, maka kita memerlukan sel kosong untuk karyawan tersebut, abaikan kesalahannya, dan berikan hasil untuk nama yang tersisa.

Kita perlu menambahkan pernyataan ‘On Error Resume Next’ di dalam loop.

Kode:

Sub On_Error1() Dim k Selama k = 2 Sampai 8 On Error Resume Next Cells(k, 6).Value = WorksheetFunction.VLookup(Cells(k, 5), Range(“A:B”), 2, 0 ) Selanjutnya k Akhir Sub

Sekarang, jalankan kodenya dan lihat hasilnya.

Dua nama karyawan: ” Gayathri” dan “Karanveer, ” tidak ada dalam daftar. Jadi, kode baris tersebut pasti mengalami kesalahan karena kami telah menambahkan pernyataan penangan kesalahan “ On Error Resume Next .” Itu telah mengabaikan baris kode itu dan dilanjutkan untuk karyawan berikutnya.

Hal yang Perlu Diingat di sini

  • “On Error Resume Next” adalah pernyataan penangan kesalahan saat kita perlu mengabaikan kesalahan yang diketahui.
  • Jika kita ingin mengabaikan pesan kesalahan hanya untuk kumpulan kode tertentu, tutup pernyataan On Error Resume Next dengan menambahkan pernyataan “ On Error GoTo 0 ”.

Artikel yang Direkomendasikan

Artikel ini telah menjadi panduan untuk VBA On Error Resume Next. Di sini, kami membahas cara mengabaikan kesalahan dan melanjutkan baris kode berikutnya di Excel VBA dengan contoh dan templat Excel yang dapat diunduh. Anda dapat mempelajari lebih lanjut tentang fungsi VBA dari artikel berikut: –

  • VBA Membagi String menjadi Array
  • Akar Kuadrat VBA
  • Ketik Mismatch Error di VBA
  • 1004 Kesalahan dalam VBA

Related Posts