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

Satura rādītājs

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 sarežģīto 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āapzinās katra datu veida plusi un mīnusi, piemēram, kad attēlā parādās Run Time Error 6: OverFlow. Pārslogojot datu tipu 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 mēs 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 plusi un mīnusi VBA datu tipam, kuru mēs izmantosim. Piemēram, apskatiet zemāk redzamo 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 es palaidīšu šo kodu, ziņojuma lodziņā mēs iegūsim mainīgā “MyValue” vērtību, 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 mēģinu palaist kodu, tas radīs kļūdu, jo mūsu deklarētajā datu tipā maksimālajam skaitlim 32767 var būt tikai pozitīvi skaitļi, bet negatīvu skaitļu ierobežojums ir -32768.

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

Excel VBA visbiežāk izmantotais datu tips ir garais datu tips. 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, dariet pamatus pareizi, 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

Interesanti raksti...