VBA-overstroomfout

Excel VBA OverFlow-fout

Fouten zijn een essentieel onderdeel van elke codeertaal, maar door te ontdekken waarom die fout komt, onderscheid je je van de massa in interviews. Fouten zijn niet vreemd voor VBA-codering, fouten zijn niet opzettelijk, dus het vinden van de oorzaak van de fout maakt de moeilijke taak. In VBA hebben we enkele van de vooraf gedefinieerde fouten en als u hiervan op de hoogte bent, kunt u de bug zeer snel oplossen. In dit artikel laten we u zien over RUN TIME ERROR 6: OverFlow. Volg het volledige artikel om meer te weten te komen over de fout, de redenen voor de VBA-overloopfout en hoe u deze kunt oplossen.

Wat is Run Time Error 6: Overflow Error in VBA?

Wanneer we de variabele declareren, kennen we er een gegevenstype aan toe. We moeten ons volledig bewust zijn van de voor- en nadelen van elk gegevenstype. Dit waar Run Time Error 6: OverFlow in beeld komt. Als we het datatype overbelasten met een waarde die groter is dan de capaciteit van het datatype, dan krijgen we deze foutmelding.

Bijvoorbeeld: als u de variabele declareert als Byte.

Dim-nummer als byte

Het byte-gegevenstype kan waarden van 0 tot 255 bevatten. Nu zal ik de waarde toewijzen als 240.

Getal = 240

Dit zou goed moeten werken omdat de waarde die we hebben toegewezen kleiner is dan de limiet van Byte's waarde van 255. Op het moment dat we de waarde toewijzen die hoger is dan 255, leidt dit tot de fout van Run Time Error 6: OverFlow.

Dit is het algemene overzicht van Run Time Error 6: OverFlow. We zullen enkele voorbeelden in detail bekijken.

Voorbeelden van Run Time Error 6: OverFlow in VBA

Laten we enkele voorbeelden bekijken van VBA OverFlow-fout in Excel.

Voorbeeld 1: Overflow-fout met byte-gegevenstype

Zoals ik al zei, is het belangrijk om de voor- en nadelen te kennen van het VBA-gegevenstype dat we gaan gebruiken. Kijk voor een voorbeeld naar de onderstaande code.

Code:

 Sub OverFlowError_Example1 () Dim Number As Byte Number = 256 MsgBox Number End Sub 

Voor de variabele "Number" heb ik de waarde 256 toegewezen. Als ik deze code uitvoer, krijgen we de onderstaande foutmelding.

Dit komt doordat het datatype Byte waarden van 0 tot 255 kan bevatten. Het veroorzaakt dus een fout. Om de fout te herstellen, moeten we ofwel het datatype wijzigen of we moeten de waarde verlagen die we hebben toegewezen aan de variabele "Number".

Voorbeeld 2: VBA OverFlow-fout met integer-gegevenstype

VBA integer is een gegevenstype dat waarden van -32768 tot 32767 kan bevatten. Kijk voor een voorbeeld naar de onderstaande code.

Code:

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

Als ik deze code uitvoer, krijgen we de waarde van de variabele "MyValue" in het berichtvenster, dwz 25656.

Nu zal ik het nummer opnieuw toewijzen aan de variabele als "45654".

Code:

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

Als ik nu probeer de code uit te voeren, zal dit een fout veroorzaken omdat het gegevenstype dat we hebben gedeclareerd alleen het maximum van 32767 kan bevatten voor positieve getallen en voor negatieve getallen de limiet is -32768.

Voorbeeld 3: VBA OverFlow-fout met lang gegevenstype

Het lange gegevenstype is het meest gebruikte gegevenstype in Excel VBA. Dit kan waarden bevatten van –2.147.483.648 tot 2.147.486.647. Alles daarboven zal een fout veroorzaken.

Code:

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

Dit veroorzaakt een overloopfout.

Om dit probleem op te lossen, moeten we de functie CLNG in VBA gebruiken. Hieronder ziet u een voorbeeld van hetzelfde.

Code:

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

Dit zou goed moeten werken.

Dit is het overzicht van Run Time Error 6: OverFlow . Om deze fout op te lossen, moeten we ons volledig bewust zijn van de gegevenstypen. Dus ga terug naar de basis, doe de basis goed, dan valt alles op zijn plaats.

U kunt deze VBA Overflow Error Excel-sjabloon hier downloaden - VBA OverFlow Error Excel-sjabloon