VBA perpildymo klaida Kaip ištaisyti jų vykdymo laiko perpildymo klaidą 6?

„Excel VBA“ perpildymo klaida

Klaidos yra neatsiejama bet kurios kodavimo kalbos dalis, tačiau sužinojus, kodėl atsiranda ši klaida, interviu metu galite atsiskirti nuo minios. Klaidos nėra keistos VBA kodavimui. Klaidos nėra tyčinės, todėl sunku surasti klaidos priežastį. VBA turime keletą iš anksto nustatytų klaidų, o žinodamas apie jas, labai greitai ištaisote klaidą. Šiame straipsnyje mes jums parodysime apie RUN TIME ERROR 6: OverFlow. Vadovaukitės visu straipsniu, kad sužinotumėte apie klaidą, VBA perpildymo klaidos priežastis ir kaip jas ištaisyti.

Kas yra 6 vykdymo laiko klaida: perpildymo klaida VBA?

Deklaruodami kintamąjį, jiems priskiriame duomenų tipą. Turėtume visiškai žinoti apie kiekvieno tipo duomenų privalumus ir trūkumus, kai paveikslėlyje yra „Run Time Error 6: OverFlow“. Kai duomenų tipą perkrausime verte, kuri yra didesnė už duomenų tipo talpą, gausime šią klaidą.

Pvz .: Jei deklaruosite kintamąjį kaip baitą.

Blankus skaičius kaip baitas

Baitų duomenų tipas gali turėti reikšmes nuo 0 iki 255. Dabar vertę priskirsiu kaip 240.

Skaičius = 240

Tai turėtų gerai veikti, nes mūsų paskirta vertė yra mažesnė nei Baitų vertės riba - 255. Šiuo momentu, kai priskiriame vertę, kuri yra didesnė nei 255, įvyksta „Run Time Error 6“: „OverFlow“ klaida.

Tai yra bendra „Run Time Error 6: OverFlow“ apžvalga. Kai kuriuos pavyzdžius pamatysime išsamiai.

6 vykdymo laiko klaidos pavyzdžiai: perpildymas VBA

Pažiūrėkime keletą VBA perpildymo klaidos „Excel“ pavyzdžių.

1 pavyzdys: pertekėjimo klaida naudojant baitų duomenų tipą

Kaip sakiau, svarbu žinoti VBA duomenų tipo, kurį ketiname naudoti, pliusus ir minusus. Pavyzdžiui, pažvelkite į žemiau pateiktą kodą.

Kodas:

Sub OverFlowError_Example1 () Dimensijos numeris kaip baitų skaičius = 256 MsgBox Number End Sub

Kintamajam „Number“ priskyriau vertę kaip 256. Kai paleisiu šį kodą, gausime žemiau pateiktą klaidą.

Taip yra todėl, kad duomenų tipo „ Baitas“ reikšmės gali būti nuo 0 iki 255. Taigi tai sukelia klaidą. Norėdami ištaisyti klaidą, turime pakeisti duomenų tipą arba sumažinti kintamajam „Skaičius“ priskirtą vertę.

2 pavyzdys: VBA perpildymo klaida su sveikojo duomenų tipu

VBA sveikasis skaičius yra duomenų tipas, kuriame gali būti reikšmės nuo -32768 iki 32767. Pavyzdžiui, žiūrėkite žemiau pateiktą kodą.

Kodas:

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

Kai paleisiu šį kodą, pranešimo laukelyje gausime kintamojo „MyValue“ vertę, ty 25656.

Dabar aš priskirsiu skaičių kintamajam kaip „45654“.

Kodas:

Sub OverFlowError_Example2 () Dim MyValue as Integer MyValue = 45654 MsgBox MyValue End Sub

Dabar, jei bandysiu paleisti kodą, tai sukels klaidą, nes mūsų deklaruotame duomenų tipe gali būti ne daugiau kaip 32767 teigiamų skaičių atveju, o neigiamų skaičių riba yra -32768.

3 pavyzdys: VBA perpildymo klaida naudojant ilgą duomenų tipą

Ilgas duomenų tipas yra dažniausiai naudojamas „Excel VBA“ duomenų tipas. Tai gali turėti reikšmes nuo 2 147 483 648 iki 2 147 486 647. Viskas, kas aukščiau, sukels klaidą.

Kodas:

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

Tai sukels perpildymo klaidą.

Norėdami išspręsti šią problemą, turime naudoti funkciją CLNG VBA. Žemiau pateikiamas to paties pavyzdys.

Kodas:

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

Tai turėtų gerai veikti.

Tai yra „Run Time Error 6: OverFlow“ apžvalga . Norėdami išspręsti šią klaidą, turime visiškai žinoti duomenų tipus. Taigi grįžkite prie pagrindų, atlikite pagrindus teisingai, tada viskas stovės į savo vietas.

Čia galite atsisiųsti šį „VBA Overflow Error Excel“ šabloną - „VBA OverFlow Error Excel“ šabloną

Įdomios straipsniai...