VBA túlcsordulás hiba - Hogyan lehet kijavítani a 6. futási túlcsordulás hibát?

Excel VBA túlcsordulás hiba

A hibák minden kódoló nyelv részét képezik, de annak kiderítése, hogy miért következik be ez a hiba, arra készteti Önt, hogy elkülönüljön a tömegtől az interjúk során. A hibák nem furcsák a VBA kódolás szempontjából. A hibák nem szándékosak, ezért a hiba okának megkeresése a nehéz feladatot teszi. A VBA-ban vannak előre definiált hibák, és ezek ismerete nagyon gyorsan kijavítja a hibát. Ebben a cikkben megmutatjuk a RUN TIME ERROR 6: OverFlow-t. Kövesse a teljes cikket, hogy megismerje a hibát, a VBA túlcsordulásának okait és azok kijavítását.

Mi a 6. futási hiba: túlcsordulási hiba a VBA-ban?

A változó deklarálásakor adattípust rendelünk hozzájuk. Teljesen tisztában kell lennünk az egyes adattípusok előnyeivel és hátrányaival, ahol a 6. futási hiba: OverFlow kerül a képbe. Amikor túlterheljük az adattípust azzal az értékkel, amely meghaladja az adattípus kapacitását, akkor ezt a hibát kapjuk.

Például: Ha a változót Byte- ként deklarálja .

Halvány szám bájtként

A bájt adattípus 0 és 255 közötti értékeket tárolhat. Most az értéket 240-nek fogom rendelni.

Szám = 240

Ennek jól kell működnie, mert az általunk hozzárendelt érték kisebb, mint a bájt értékének 255-ös határa. Abban a pillanatban, amikor az értéket hozzárendeljük, amely meghaladja a 255 értéket, ez a 6. futási idő: OverFlow hibához vezet.

Ez az általános áttekintés a 6. futási idő hibáról: OverFlow. Néhány példát részletesen megnézünk.

Példák a 6. futási hibára: túlcsordulás a VBA-ban

Lássunk néhány példát a VBA OverFlow hibára az Excelben.

1. példa: Overflow hiba a bájt adattípussal

Mint mondtam, fontos ismerni az általunk használni kívánt VBA adattípus előnyeit és hátrányait. Nézze meg például az alábbi kódot.

Kód:

Sub OverFlowError_Example1 () Dim szám bájtként = 256 MsgBox szám End Sub

A „Number” változóhoz az értéket 256-ként rendeltem. Amikor futtatom ezt a kódot, az alábbi hibát kapjuk.

Ez azért van, mert a Byte adattípus 0 és 255 közötti értékeket képes tárolni. Tehát hibát okoz. A hiba kijavításához vagy módosítanunk kell az adattípust, vagy csökkentenünk kell a „Szám” változóhoz rendelt értéket.

2. példa: VBA túlcsordulási hiba az egész adattípussal

A VBA integer olyan adattípus, amely -32768 és 32767 közötti értékeket képes tárolni. Nézze meg például az alábbi kódot.

Kód:

Sub OverFlowError_Example2 () Dim MyValue egész számként MyValue = 25656 MsgBox MyValue End Sub

Amikor futtatom ezt a kódot, megkapjuk az üzenetmezőben a „MyValue” változó értékét, azaz 25656.

Most újból hozzárendelem a változóhoz a számot: „45654”.

Kód:

Sub OverFlowError_Example2 () Dim MyValue egész számként MyValue = 45654 MsgBox MyValue End Sub

Most, ha megpróbálom futtatni a kódot, az hibát okoz, mert az általunk deklarált adattípus csak a pozitív számok esetében képes megtartani a maximális 32767-et, a negatív számok esetében pedig a -32768.

3. példa: VBA túlcsordulási hiba hosszú adattípussal

A hosszú adattípus a leggyakrabban használt adattípus az Excel VBA-ban. Ez -2 147 483 648 és 2 147 486 647 értékeket tartalmazhat. Bármi, ami fent van, hibát okoz.

Kód:

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

Ez túlcsordulási hibát okoz.

A probléma megoldásához a VBA CLNG függvényét kell használnunk. Az alábbiakban példa erre.

Kód:

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

Ennek jól kell működnie.

Ez a 6. futási idő: Overflow hiba áttekintése . A hiba megoldásához teljesen tisztában kell lennünk az adattípusokkal. Tehát térj vissza az alapokhoz, csináld jól az alapokat, akkor minden a helyére kerül.

A VBA Overflow Error Excel sablont innen töltheti le - VBA OverFlow Error Excel sablont

érdekes cikkek...