Pogreška preljeva VBA - Kako ih popraviti pogreška prelijevanja vremena izvođenja 6?

Pogreška Excel VBA OverFlow

Pogreške su sastavni dio bilo kojeg kodirajućeg jezika, ali otkrivanje zašto dolazi do te pogreške ono je što vas izdvaja od mnoštva u intervjuima. Pogreške nisu neobične za VBA kodiranje. Pogreške nisu namjerne, pa je pronalaženje uzroka pogreške težak zadatak. U VBA imamo neke od unaprijed definiranih pogrešaka, a ako znate zbog njih, vrlo brzo ispravljate pogrešku. U ovom ćemo vam članku pokazati o RUN TIME ERROR 6: OverFlow. Slijedite cijeli članak da biste saznali više o pogrešci, razlozima pogreške prelijevanja VBA i kako ih popraviti.

Što je pogreška vremena izvođenja 6: Pogreška prelijevanja u VBA?

Kad deklariramo varijablu, dodijelimo im tip podataka. Morali bismo biti u potpunosti svjesni prednosti i nedostataka svake vrste podataka - ovdje se pojavljuje pogreška vremena izvođenja 6: OverFlow. Kada tip podataka preopteretimo vrijednošću koja je veća od kapaciteta tipa podataka, dobit ćemo ovu pogrešku.

Na primjer: Ako varijablu deklarirate kao Byte.

Zatamnjeni broj kao bajt

Bajtni tip podataka može sadržavati vrijednosti od 0 do 255. Sada ću vrijednost dodijeliti kao 240.

Broj = 240

To bi trebalo dobro funkcionirati jer je vrijednost koju smo dodijelili manja od ograničenja vrijednosti bajta od 255. U trenutku kada dodijelimo vrijednost, koja je veća od 255, to dovodi do pogreške pogreške vremena izvođenja 6: OverFlow.

Ovo je općeniti pregled pogreške tijekom izvođenja 6: OverFlow. Neke ćemo primjere detaljno vidjeti.

Primjeri pogreške u vremenu izvođenja 6: Prelijevanje u VBA

Pogledajmo neke primjere pogreške VBA OverFlow u Excelu.

Primjer 1: Pogreška prekomjernog protoka s bajtnom vrstom podataka

Kao što sam rekao, važno je znati prednosti i nedostatke VBA tipa podataka koji ćemo koristiti. Na primjer, pogledajte donji kod.

Kodirati:

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

Za varijablu "Number" dodijelio sam vrijednost kao 256. Kada pokrenem ovaj kod, dobit ćemo donju pogrešku.

To je zato što tip podataka Byte može sadržavati vrijednosti od 0 do 255. Dakle, uzrokuje pogrešku. Da bismo ispravili pogrešku, moramo promijeniti vrstu podataka ili moramo smanjiti vrijednost koju smo dodijelili varijabli "Broj".

Primjer 2: VBA pogreška prelijevanja s cijelim tipom podataka

VBA cijeli broj vrsta je podataka koja može sadržavati vrijednosti od -32768 do 32767. Na primjer, pogledajte donji kod.

Kodirati:

Sub OverFlowError_Example2 () Priguši MyValue kao cijelu MyValue = 25656 MsgBox MyValue End Sub

Kad pokrenem ovaj kôd, dobit ćemo vrijednost varijable "MyValue" u okviru za poruke, tj. 25656.

Sada ću broj dodijeliti varijabli kao "45654".

Kodirati:

Sub OverFlowError_Example2 () Zatamni MyValue kao cijelu MyValue = 45654 MsgBox MyValue End Sub

Ako pokušam pokrenuti kod, to će uzrokovati pogrešku jer tip podataka koji smo proglasili može sadržavati najviše 32767 za pozitivne brojeve, a za negativne brojeve je -32768.

Primjer 3: VBA pogreška preljeva s dugim tipom podataka

Dugi tip podataka najčešće je korišten tip podataka u programu Excel VBA. To može sadržavati vrijednosti od -2,147,483,648 do 2,147,486,647. Sve gore što će uzrokovati pogrešku.

Kodirati:

Sub OverFlowError_Example3 () Zatamni MyValue kao dugo MyValue = 5000 * 457 MsgBox MyValue End Sub

To će uzrokovati pogrešku prelijevanja.

Da bismo riješili ovaj problem, trebamo upotrijebiti funkciju CLNG u VBA. Ispod je primjer istog.

Kodirati:

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

Ovo bi trebalo u redu.

Ovo je pregled pogreške u vremenu izvođenja 6: OverFlow . Da bismo riješili ovu pogrešku, moramo biti potpuno svjesni tipova podataka. Vratite se, dakle, osnovama, dobro napravite osnove, tada će sve doći na svoje mjesto.

Ovdje možete preuzeti ovaj predložak VBA pogreške preljeva u Excel - VBA predložak pogreške preljeva Excel

Zanimljivi članci...