Uvod v napako prelivanja VBA

V primeru napake med delom z VBA naletimo na veliko vrst. Napake se imenujejo napake med izvajanjem, ko so med izvajanjem kode naleteli na napako. Vsaka koda ima tudi določeno kodo, ki ji je dodeljena v programiranju VBA. V excelu ena taka napaka je napaka VBA Overflow. Koda za to napako je napaka 6 časa izvajanja, kar pomeni prelivanje v programiranju VBA. O tej napaki bomo izvedeli v tem članku.

Zdaj vemo, kaj je ta napaka pri prelivanju vrsta napake, zdaj razumemo, kaj ta napaka pomeni. Če katerokoli spremenljivko izjavimo kot določeno vrsto podatkov in vrednost spremenljivke presega mejo podatkovnega tipa spremenljivke, dobimo napako za prelivanje. Če na primer določimo spremenljivko kot celo število in vemo, da lahko celo število vsebuje vrednosti do 32767 za pozitivna števila in -32768 za negativna števila. Če torej zagotovimo kakršen koli vnos preko tega obsega, bomo v VBA naleteli na napako s prelivom.

Napaka prelivanja v laičnih izrazih pomeni, da prenašamo vrsto podatkov z vrednostmi, ki jih lahko zadrži. Takšni primeri nas bodo srečali s to napako. Da bi se izognili tej napaki, se moramo zavedati, katero vrsto podatkov uporabljamo, da jo lahko preprečimo.

Skozi različne primere bomo videli, kako bomo pri različnih vrstah podatkov morda naleteli na to napako.

Kako uporabiti napako prelivanja VBA v Excelu?

Spoznali bomo uporabo funkcije napake napake VBA Overflow z nekaj primeri v excelu.

Predlogo VBA OverFlow OverFlow Error Excel lahko prenesete tukaj - VBA predlogo OverFlow Error Excel

Primer # 1 - Napaka prelivanja

Za prvi primer uporabimo vrsto podatkov tipa Integer. Poskusimo prelivati ​​vrednosti, tako da jih spremenljivke ne morejo shraniti in videti napako, na katero naletimo.

Če želite uporabiti funkcijo VBA Overflow Error v Excelu, uporabite spodnje korake:

1. korak: Za začetek z VBA najprej moramo omogočiti zavihek našega razvijalca in nato kliknite nanj, da odprete VB Editor iz možnosti Visual Basic, kot je prikazano na spodnjem posnetku,

2. korak: Kliknite nanj in vstavite modul, kot sledi, Ko enkrat kliknemo modul. Dvokliknite nanjo in odprlo nam bo drugo okno, kamor bomo zapisali svojo kodo.

3. korak : Na desni strani bomo videli prazno okno, razglasili podfunkcijo in tako bomo zagnali makro na naslednji način,

Koda:

 Pod vzorec () Konec pod 

4. korak: Spremenite spremenljivko kot celo število, tako da lahko vsebuje celo število za nas,

Koda:

 Pod vzorec () Dim A kot celoten konec Pod 

5. korak: Zdaj v spremenljivki Shrani takšno vrednost, ki bo preplavila vrsto podatkov na naslednji način,

Koda:

 Pod vzorec () Dim A kot celo število A = 4896 * 5000 konec sub 

6. korak: Zdaj prikažite vrednost A s pomočjo funkcije msgbox,

Koda:

 Pod vzorec () Dim A kot celo število A = 4896 * 5000 MsgBox A End Sub 

7. korak: Zaženite zgornjo kodo in si oglejte, kakšen rezultat dobimo,

Napako smo prejeli, ker je 4896 * 5000 prekoračila pozitivno omejitev števila za celoten tip podatkov, spremenljivka A pa je preplavljena s to vrednostjo, zato naletimo na to napako.

Primer # 2 - Napaka prelivanja

Zdaj nam v tem primeru podajte podatke tipa BYTE. Vemo, da lahko bajtni podatkovni podatki vsebujejo vrednosti od 0 do 255, vendar bodo vse druge vrednosti, razen tega obsega, napake. Naj izvemo.

Korak 1: Naš modul je že vstavljen, lahko delamo na istem ali izdelamo novega. Toda delajmo na istem modulu, ki smo ga vstavili. Dvokliknite modul, da znova odprete okno s kodo,

2. korak: Objavite še eno podfunkcijo na naslednji način,

Koda:

 Sub Sample1 () Konec Sub 

3. korak: Označite spremenljivko kot vrsto podatkov BYTE na naslednji način,

Koda:

 Pod vzorec1 () Dim A kot konec bajta Sub 

4. korak: Zdaj v vrednosti spremenljivke A nad 255, kot sledi,

Koda:

 Pod vzorec1 () Dim A kot bajt A = 266 Končni pod 

5. korak: Uporabite funkcijo msgbox za prikaz vrednosti A,

Koda:

 Pod vzorec1 () Dim A kot bajt A = 266 MsgBox A konec Pod 

6. korak: Zaženimo zgornjo kodo s pritiskom na F5 in si oglejte rezultat,

7. korak: Poskusimo spremeniti vrednost A v 244 in ponovno zaženiti kodo, da vidimo rezultat,

Koda:

 Sub Sample1 () Dim A kot bajt A = 244 MsgBox A End Sub 

Korak 8: Ko ponovno zaženemo kodo, vidimo naslednji rezultat,

Ko prvič zaženemo kodno spremenljivko A, ki presega obseg, ki ga lahko vsebuje vrsta podatkov BYTE, v drugem primeru pa ima spremenljivka A podatke v svojem območju podatkovnih vrst, tako da nismo naleteli na napako pri prelivanju.

Primer # 3 - Napaka prelivanja

Zdaj uporabimo vrsto podatkov LONG kot primer, saj gre za najpogosteje uporabljeno vrsto podatkov med programerji.

1. korak: Znova bomo delali v istem modulu, ki smo ga vstavili prej. Samo dvakrat kliknemo modul in smo v njem.

2. korak: Objavite podfunkcijo, kot je prikazano na posnetku zaslona.

Koda:

 Sub Sample2 () Konec Sub 

3. korak: Spremenite spremenljivko kot vrsto podatkov LONG, kot sledi.

Koda:

 Sub Sample2 () Dim A kot dolg konec Sub 

Korak 4: Zdaj podobni zgornjim primerom omogočimo, da spremenimo to spremenljivko tako, da zadržuje vrednosti nad svojim obsegom, kot sledi.

Koda:

 Pod vzorec2 () Dim A kot dolg A = 2000 * 365 konec Sub 

5. korak: Uporabite funkcijo msgbox za prikaz vrednosti A na naslednji način.

Koda:

 Pod vzorec2 () Dim A kot dolg A = 2000 * 365 MsgBox A End Sub 

6. korak: Kliknite zgornji gumb Run in vidite, da naletimo na napako s prelivom.

7. korak: Zdaj obstaja metoda za premagovanje te napake pri dolgih vrstah podatkov z uporabo funkcije CLNG na naslednji način.

Koda:

 Sub Sample2 () Dim A As Long A = CLng (2000) * 365 MsgBox A End Sub 

8. korak: Če znova zaženemo kodo, lahko vidimo naslednji rezultat.

Zdaj, kaj je naredila funkcija CLNG? Vrednost je pretvorila v dolgo celo število, ki ga lahko vsebuje spremenljivka.

Kako premagati napako pri prelivanju v VBA

Ko v VBA naletimo na napako pri prelivanju, kar pomeni katero koli od naših spremenljivk, ne več, če imamo nekaj vrednosti, ki jih ne more zadržati. Identifikator moramo identificirati in ga odpraviti. Poleg tega imamo funkcijo CLNG za dolge vrste podatkov, da nam pomagajo. Toda poznavanje naše vrste podatkov dejansko pomaga.

Stvari, ki jih je treba zapomniti

Obstaja nekaj stvari, ki se jih moramo spomniti glede napake pri prelivanju v VBA:

  • Napaka prelivanja je napaka v teku.
  • Koda napake za napako pri prelivanju je 6.
  • Za premagovanje napake pri prelivanju moramo vedeti, kateri tip podatkov lahko vsebuje toliko vrednosti.
  • Funkcija CLNG pomaga pri napaki pri prelivanju za dolge vrste podatkov.

Priporočeni članki

To je vodnik za napako prelivanja VBA. Tukaj smo razpravljali o uporabi funkcije Excel VBA Overflow Error Function skupaj s praktičnimi primeri in naloženo predlogo Excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. Kopiraj prilepi funkcijo v VBA
  2. Funkcija podvrsti Excela
  3. Naročnik VBA izven dosega
  4. Excel ISNUMBER Formula

Kategorija: