VBA pārplūdes kļūda Kā novērst to izpildes laika pārpildes kļūdu 6?

Excel VBA pārpildes kļūda

Kļūdas ir neatņemama jebkuras kodēšanas valodas sastāvdaļa, bet tas, kāpēc šī kļūda nāk, ir tas, kas liek intervijās atdalīties no pūļa. Kļūdas nav dīvainas VBA kodēšanai, kļūdas nav tīšas, tāpēc kļūdas cēloņa atrašana padara grūtu uzdevumu. VBA mums ir dažas iepriekš definētas kļūdas, un, zinot par tām, jūs ļoti ātri novēršat kļūdu. Šajā rakstā mēs jums parādīsim par RUN TIME ERROR 6: OverFlow. Izpildiet visu rakstu, lai uzzinātu par kļūdu, VBA pārpildes kļūdas iemesliem un to novēršanu.

Kas ir 6. darbības laika kļūda: pārpildes kļūda VBA?

Deklarējot mainīgo, mēs tiem piešķiram datu tipu. Mums pilnībā jāzina katra datu veida plusi un mīnusi. Šeit attēlā parādās Run Time Error 6: OverFlow. Kad datu tipu pārslogosim ar vērtību, kas pārsniedz datu veida ietilpību, mēs saņemsim šo kļūdu.

Piemēram: Ja deklarējat mainīgo kā baitu.

Blāvs skaitlis kā baits

Baitu datu tipā var būt vērtības no 0 līdz 255. Tagad es piešķiršu vērtību 240.

Skaitlis = 240

Tam vajadzētu darboties labi, jo mūsu piešķirtā vērtība ir mazāka par Baitas vērtības ierobežojumu 255. Brīdī, kad piešķiram vērtību, kas ir lielāka par 255, tas noved pie izpildes laika kļūdas 6 kļūda: pārpilde.

Šis ir vispārīgais pārskats par izpildes laika kļūdu 6: Pārplūde. Dažus piemērus mēs redzēsim detalizēti.

6. izpildes laika kļūdas piemēri: Pārplūde VBA

Apskatīsim dažus VBA pārpildes kļūdu piemērus programmā Excel.

1. piemērs: pārpildes kļūda ar baita datu tipu

Kā es teicu, ir svarīgi zināt VBA datu veida plusus un mīnusus, kurus mēs izmantosim. Piemēram, skatiet zemāk esošo kodu.

Kods:

 Sub OverFlowError_Example1 () Dim numurs kā baitu numurs = 256 MsgBox numura beigas Sub 

Mainīgajam “Number” man ir piešķirta vērtība 256. Kad palaidīšu šo kodu, tiks parādīta zemāk redzamā kļūda.

Tas ir tāpēc, ka datu tipā Baits var būt vērtības no 0 līdz 255. Tātad tas rada kļūdu. Lai novērstu kļūdu, mums ir jāmaina datu tips vai jāsamazina vērtība, ko esam piešķīruši mainīgajam “Number”.

2. piemērs: VBA pārpildes kļūda ar skaitļa skaitļa skaitli

VBA vesels skaitlis ir datu tips, kurā var būt vērtības no -32768 līdz 32767. Piemēram, skatiet zemāk redzamo kodu.

Kods:

 Sub OverFlowError_Example2 () Dim MyValue kā Integer MyValue = 25656 MsgBox MyValue End Sub 

Kad palaidīšu šo kodu, ziņojuma lodziņā tiks iegūta mainīgā “MyValue” vērtība, ti, 25656.

Tagad es piešķiršu numuru mainīgajam kā “45654”.

Kods:

 Sub OverFlowError_Example2 () Dim MyValue kā Integer MyValue = 45654 MsgBox MyValue End Sub 

Tagad, ja es mēģinu palaist kodu, tas radīs kļūdu, jo mūsu deklarētais datu tips var saturēt maksimālo 32767 tikai pozitīviem skaitļiem un negatīvu skaitļu ierobežojums ir -32768.

3. piemērs: VBA pārpildes kļūda ar garu datu tipu

Garais datu tips ir visbiežāk izmantotais datu veids programmā Excel VBA. Tajā var būt vērtības no –2 147 483 648 līdz 2 147 486 647. Viss, kas norādīts iepriekš, radīs kļūdu.

Kods:

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

Tas radīs pārpildes kļūdu.

Lai novērstu šo problēmu, mums VBA ir jāizmanto funkcija CLNG. Zemāk ir piemērs tam pašam.

Kods:

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

Tam vajadzētu darboties labi.

Šis ir pārskats par izpildes laika kļūdu 6: OverFlow . Lai novērstu šo kļūdu, mums pilnībā jāzina datu tipi. Tāpēc atgriezieties pie pamatiem, veiciet pamatus uzreiz, tad viss nostāsies savās vietās.

Šo VBA pārpildes kļūdas Excel veidni varat lejupielādēt šeit - VBA pārpildes kļūdas Excel veidne


$config[zx-auto] not found$config[zx-overlay] not found