Bevezetés a VBA túlcsordulási hibába

Sokféle hibát tapasztalunk a VBA használata közben. A hibákat futásidejű hibáknak nevezzük, ha hibát észleltek a kód végrehajtása közben. Ezenkívül minden kódnak van egy bizonyos kódja, amelyet hozzárendelt a VBA programozásához. Az egyik ilyen hiba a VBA túlcsordulási hiba. A hiba kódja a 6. futási idő hiba, ami túlcsordulást jelent a VBA programozásában. Ebben a cikkben megismerjük ezt a hibát.

Most tudjuk, hogy ez a túlcsordulási hiba egyfajta hiba. Most értjük meg, mit jelent ez a hiba. Ha bármely változót bizonyos adattípusnak nyilvánítunk, és a változó értéke meghaladja a változó adattípusának határát, akkor a túlcsordulás hibáját kapjuk. Például, ha egy változót egészként definiálunk, és tudjuk, hogy az egész pozitív számok esetén 32767, negatív számok esetén pedig -32768. Tehát, ha bármilyen bemenetet megadunk ezen a tartományon kívül, akkor túlcsordulási hibát tapasztalunk a VBA-ban.

Túlcsordulási hiba laikus kifejezésnél azt jelenti, hogy túlterheljük az adattípust az értékekkel, amelyeket képes megtartani. Ilyen esetekben ezt a hibát tapasztaljuk meg. Tehát a hiba elkerülése érdekében tisztában kell lennünk azzal, hogy milyen adattípust használunk, hogy megakadályozzuk azt.

Különböző példákon keresztül láthatjuk, hogy a különféle adattípusok esetén hogyan tapasztalhatjuk ezt a hibát.

Hogyan lehet használni a VBA túlcsordulási hibát az Excelben?

Megtanuljuk, hogyan kell használni a VBA túlcsordulási hibafunkciót, néhány példával az Excelben.

Itt letöltheti ezt a VBA OverFlow hiba Excel-sablont - VBA OverFlow Error Excel-sablon

1. példa - túlcsordulási hiba

Az első példában használjuk az Integer adattípust. Próbáljuk meg túlcsordítani az értékeket, hogy a változók ne tárolhassák azokat, és lássa meg a felmerült hibát.

Kövesse az alábbi lépéseket a VBA túlcsordulási hiba funkció használatához az Excelben:

1. lépés: Alapvetően a VBA-val való első lépés, amit tennünk kell, engedélyezni kell a fejlesztő lapunkat, majd rá kell kattintva megnyitni a VB szerkesztőt a Visual Basic lehetőségből, amint az az alábbi képernyőképen látható,

2. lépés: Kattintson rá, és helyezze be a modult az alábbiak szerint, Miután rákattintunk a modulra. Kattintson duplán rá, és új ablak nyílik meg nekünk, ahol beírjuk a kódot.

3. lépés : Megjelenünk egy jobb ablakot a jobb oldalon, deklarálunk egy alfunkciót, és így indítjuk el a makrót az alábbiak szerint,

Kód:

 Alminta () Alsó rész vége 

4. lépés: Nyisson meg egy változót egész számként, hogy egész számot tartson számunkra,

Kód:

 Alminta () Dim A egészként vége Sub 

5. lépés: Most az A változóban tároljon olyan értéket, amely az alábbiak szerint túlterheli az adattípust:

Kód:

 Alminta () A dim-et egész számként = A = 4896 * 5000 Vége al 

6. lépés: Most mutassa meg az A értékét az msgbox funkció használatával,

Kód:

 Alminta () Halványul A egészként A = 4896 * 5000 MsgBox A Vége Sub 

7. lépés: Futtassa a fenti kódot, és nézze meg, milyen eredményt kapunk,

Ezt a hibát kaptuk, mert a 4896 * 5000 túllépi az egész adattípus megtartására vonatkozó pozitív számkorlátot, és az A változót túlcsordítja ez az érték, tehát ezt a hibát tapasztaljuk.

2. példa - túlcsordulási hiba

Most ebben a példában hadd adja meg a BYTE adattípust. Tudjuk, hogy a bájt adattípus értéke 0 és 255 között lehet, de az ezen tartományon kívüli bármely érték hibát fog eredményezni. Nézzük meg.

1. lépés: Már telepítettük a modult, dolgozhatunk ugyanazon a modulon, vagy létrehozhatunk egy újat. De dolgozzunk ugyanazon a modulon, amelyet beillesztettünk. Kattintson duplán a modulra a kódablak újbóli belépéséhez,

2. lépés: Nyisson meg egy másik alfunkciót az alábbiak szerint,

Kód:

 1. alminta () az al 

3. lépés: A következőképpen deklaráljon egy változót BYTE adattípusként:

Kód:

 Alminta1 () A tompítása mint Byte End Sub 

4. lépés: Most az A változóban 255-nél nagyobb üzletértékkel, az alábbiak szerint,

Kód:

 1. alminta () A dim, mint A bájt = 266 Az al 

5. lépés: Használjon msgbox funkciót az A érték megjelenítéséhez,

Kód:

 Alminta1 () dim A mint bájt = 266 MsgBox A vége al 

6. lépés: Futtassa a fenti kódot az F5 megnyomásával, és nézze meg az eredményt,

7. lépés: Most próbáljuk megváltoztatni az A értékét 244-re, és futtassuk újra a kódot az eredmény megjelenítéséhez,

Kód:

 Alminta1 () dim A mint bájt A = 244 MsgBox A vége al 

8. lépés: Amikor újra futtatjuk a kódot, a következő eredményt látjuk,

Amikor az A kódváltozót először futtattuk, az értékei meghaladják azt a tartományt, amelyet egy BYTE adattípus képes tartani, de másodszor az A változó adatai vannak az adattípus tartományában, így nem tapasztaltunk túlcsordulási hibát.

3. példa - Túlcsordulási hiba

Most használjuk példaként a LONG adattípust, mivel ez a programozók körében a leggyakrabban használt adattípus.

1. lépés: Újra dolgozunk ugyanabban a modulban, amelyet korábban behelyeztünk. Csak duplán kell kattintania a modulra, és benne vagyunk.

2. lépés: Nyisson meg egy alfunkciót a képernyőképen látható módon.

Kód:

 2. alminta () az al 

3. lépés: Nyisson meg egy változót LONG adattípussá az alábbiak szerint.

Kód:

 2. alminta () A dim, mint hosszú vég sub 

4. lépés: Most, a fenti példákhoz hasonlóan, engedje át ezt a változót azáltal, hogy az alábbiak szerint tartsa az értékeit a tartomány fölött.

Kód:

 2. alminta () A halványul, amíg A = 2000 * 365 Vége al 

5. lépés: Használjon msgbox funkciót az A érték megjelenítéséhez, az alábbiak szerint.

Kód:

 Alminta2 () Felfogja A Amíg A = 2000 * 365 MsgBox A Vége Sub 

6. lépés: Kattintson a fenti Futtatás gombra, és látja, hogy túlcsordulási hibát tapasztalunk.

7. lépés: Most létezik egy módszer a hosszú adattípusú hiba kiküszöbölésére a következő CLNG függvény használatával.

Kód:

 Alminta2 () Halvány A Amíg A = CLng (2000) * 365 MsgBox A Vége Al 

8. lépés: Ha újra futtatjuk a kódot, láthatjuk a következő eredményt.

Nos, mit csinált a CLNG Function? Az értéket hosszú egész számmá konvertálta, amelyet a változó képes tartani.

Hogyan lehet kiküszöbölni a túlcsordulás hibát a VBA-ban

Ha túlfolyási hibát tapasztalunk a VBA-ban, ez azt jelenti, hogy bármelyik változónk van, akkor nem több olyan értéke van, amelyet nem tud megtartani. Meg kell határoznunk a változót és javítanunk kell azt. Ezen felül van egy hosszú adattípusú CLNG funkció is, amely segít. De az adattípus ismerete valójában segít.

Dolgok, amikre emlékezni kell

Vannak bizonyos dolgok, amelyeket meg kell emlékezni a VBA túlcsordulási hibáira:

  • A túlcsordulási hiba futási idő hiba.
  • A túlcsordulási hiba hibakódja 6.
  • A túlcsordulási hiba kiküszöbölése érdekében tudnunk kell, hogy az adattípus mennyi értéket képes tárolni.
  • A CLNG funkció hosszú adattípusok esetén segíti a túlcsordulási hibákat.

Ajánlott cikkek

Ez egy útmutató a VBA túlcsordulási hibához. Itt tárgyaljuk, hogyan lehet használni az Excel VBA túlcsordulási hibafunkciót, a gyakorlati példákkal és a letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -

  1. Másolás beillesztés funkció a VBA-ban
  2. Az Excel függvény alsávja
  3. A VBA felirat a tartományon kívül esik
  4. Excel ISNUMBER Formula

Kategória: