Ralat Overflow VBA

Ralat Overflow Excel VBA

Kesalahan adalah sebahagian daripada bahasa pengekodan tetapi mencari alasan mengapa kesalahan itu datang adalah yang membuat anda terpisah daripada orang ramai dalam temu ramah. Kesalahan tidak pelik untuk pengekodan VBA, kesalahan tidak disengaja sehingga menjadikan mencari penyebab kesalahan membuat tugas sukar. Di VBA, kami mempunyai beberapa kesilapan yang telah ditentukan dan mengetahui tentangnya membuat anda dapat memperbaiki pepijat dengan cepat. Dalam artikel ini, kami akan menunjukkan kepada anda mengenai RUN TIME ERROR 6: OverFlow. Ikuti artikel penuh untuk mengetahui tentang ralat, sebab ralat limpahan VBA, dan cara memperbaikinya.

Apakah Ralat Masa Jalankan 6: Ralat Limpahan di VBA?

Apabila kita menyatakan pemboleh ubah, kita memberikan jenis data kepadanya. Kita harus benar-benar mengetahui kebaikan dan keburukan setiap jenis data. Ini di mana Run Time Error 6: OverFlow masuk ke dalam gambar. Apabila kita membebankan jenis data dengan nilai yang lebih besar daripada kapasiti jenis data maka kita akan mendapat ralat ini.

Contohnya: Sekiranya anda menyatakan pemboleh ubah sebagai Byte.

Nombor Dim sebagai Bait

Jenis data bait boleh menyimpan nilai dari 0 hingga 255. Sekarang saya akan memberikan nilai sebagai 240.

Nombor = 240

Ini harus berfungsi dengan baik kerana nilai yang telah kami tetapkan adalah kurang daripada had nilai Byte 255. Sebaik sahaja kami menetapkan nilai yang lebih dari 255, ini membawa kepada ralat Ralat Run Time 6: OverFlow.

Ini adalah gambaran umum umum mengenai Ralat Masa Larian 6: OverFlow. Kami akan melihat beberapa contoh secara terperinci.

Contoh Ralat Masa Larian 6: OverFlow dalam VBA

Mari kita lihat beberapa contoh Ralat Overflow VBA di Excel.

Contoh 1: Ralat OverFlow dengan Jenis Data Bait

Seperti yang saya katakan adalah penting untuk mengetahui kebaikan dan keburukan jenis data VBA yang akan kita gunakan. Sebagai contoh lihat kod di bawah.

Kod:

 Sub OverFlowError_Example1 () Dim Dim Number As Byte Number = 256 MsgBox Number End Sub 

Untuk pemboleh ubah "Number" saya telah memberikan nilai sebagai 256. Apabila saya menjalankan kod ini, kita akan mendapat ralat di bawah.

Ini kerana jenis data Byte boleh memegang nilai-nilai dari 0 hingga 255. Oleh itu, ia menyebabkan ralat. Untuk memperbaiki ralat, kita harus mengubah jenis data atau kita harus mengurangkan nilai yang telah kita tetapkan pada pemboleh ubah "Number".

Contoh 2: Ralat Overflow VBA dengan Jenis Data Integer

Integer VBA adalah jenis data yang dapat menahan nilai dari -32768 hingga 32767. Sebagai contoh lihat kod di bawah.

Kod:

 Sub OverFlowError_Example2 () Dim MyValue Sebagai Integer MyValue = 25656 MsgBox MyValue End Sub 

Apabila saya menjalankan kod ini kita akan mendapat nilai pemboleh ubah "MyValue" di kotak mesej iaitu 25656.

Sekarang saya akan menetapkan semula nombor ke pemboleh ubah sebagai "45654".

Kod:

 Sub OverFlowError_Example2 () Turunkan MyValue Sebagai Integer MyValue = 45654 MsgBox MyValue End Sub 

Sekarang jika saya cuba menjalankan kod, ia akan menyebabkan kesalahan kerana jenis data yang telah kita nyatakan hanya dapat menahan maksimum 32767 untuk nombor positif dan had nombor negatif adalah -32768.

Contoh 3: Ralat Overflow VBA dengan Jenis Data Panjang

Jenis data panjang adalah jenis data yang paling kerap digunakan dalam Excel VBA. Ini dapat menahan nilai dari –2,147,483,648 hingga 2,147,486,647. Apa-apa perkara di atas akan menyebabkan ralat.

Kod:

 Sub OverFlowError_Example3 () Dim My Value Nilai Selagi MyValue = 5000 * 457 MsgBox MyValue End Sub 

Ini akan menyebabkan ralat limpahan.

Untuk menyelesaikan masalah ini, kita perlu menggunakan fungsi CLNG di VBA. Di bawah ini adalah contoh yang sama.

Kod:

 Sub OverFlowError_Example3 () Dim MyValue Selagi MyValue = CLng (5000) * 457 MsgBox MyValue End Sub 

Ini mesti berfungsi dengan baik.

Ini adalah gambaran keseluruhan Ralat Masa Jalankan 6: OverFlow . Untuk menyelesaikan ralat ini, kita perlu mengetahui sepenuhnya jenis data. Oleh itu, kembali kepada asas, lakukan asasnya sehingga semuanya akan sesuai.

Anda boleh memuat turun Templat Excel Ralat Limpahan VBA ini di sini - Templat Ralat VBA OverFlow Excel