Błąd przepełnienia VBA - Jak je naprawić Błąd przepełnienia czasu wykonywania 6?

Błąd przepełnienia VBA programu Excel

Błędy są nieodłączną częścią każdego języka kodowania, ale odkrycie, dlaczego ten błąd się pojawia, sprawia, że ​​wyróżniasz się z tłumu podczas wywiadów. Błędy nie są obce w kodowaniu VBA. Błędy nie są zamierzone, więc znalezienie przyczyny błędu jest trudnym zadaniem. W VBA mamy kilka predefiniowanych błędów, a wiedza o nich pozwala bardzo szybko naprawić błąd. W tym artykule pokażemy Ci RUN TIME ERROR 6: OverFlow. Postępuj zgodnie z pełnym artykułem, aby dowiedzieć się o błędzie, przyczynach błędu przepełnienia VBA i jak je naprawić.

Co to jest Run Time Error 6: Błąd przepełnienia w VBA?

Kiedy deklarujemy zmienną, przypisujemy im typ danych. Powinniśmy być w pełni świadomi zalet i wad każdego typu danych - w tym przypadku pojawia się Run Time Error 6: OverFlow. Kiedy przeciążamy typ danych wartością, która jest większa niż pojemność typu danych, otrzymamy ten błąd.

Na przykład: jeśli zadeklarujesz zmienną jako Byte.

Dim Number As Byte

Typ danych bajtowych może zawierać wartości od 0 do 255. Teraz przypiszę wartość 240.

Liczba = 240

Powinno to działać dobrze, ponieważ przypisana przez nas wartość jest mniejsza niż granica wartości Byte równa 255. W momencie przypisania wartości większej niż 255 prowadzi to do błędu Run Time Error 6: OverFlow.

To jest ogólny przegląd Run Time Error 6: OverFlow. Przedstawiamy szczegółowo niektóre przykłady.

Przykłady błędu czasu wykonania 6: Przepełnienie w VBA

Zobaczmy kilka przykładów błędu VBA OverFlow w programie Excel.

Przykład 1: Błąd przepełnienia z typem danych bajtowych

Jak powiedziałem, ważne jest, aby znać zalety i wady typu danych VBA, którego będziemy używać. Na przykład spójrz na poniższy kod.

Kod:

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

Zmiennej „Number” przypisałem wartość 256. Kiedy uruchomię ten kod, otrzymamy poniższy błąd.

Dzieje się tak, ponieważ typ danych Byte może zawierać wartości od 0 do 255. Powoduje to więc błąd. Aby naprawić błąd, albo musimy zmienić typ danych, albo musimy zmniejszyć wartość, którą przypisaliśmy do zmiennej „Number”.

Przykład 2: Błąd przepełnienia VBA z typem danych typu Integer

Liczba całkowita VBA to typ danych, który może zawierać wartości od -32768 do 32767. Spójrz na przykład na poniższy kod.

Kod:

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

Kiedy uruchomię ten kod, w oknie komunikatu otrzymamy wartość zmiennej „MyValue”, czyli 25656.

Teraz przypiszę numer zmiennej jako „45654”.

Kod:

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

Teraz, jeśli spróbuję uruchomić kod, spowoduje to błąd, ponieważ zadeklarowany przez nas typ danych może pomieścić maksymalnie 32767 dla liczb dodatnich, a dla liczb ujemnych limit wynosi -32768.

Przykład 3: Błąd przepełnienia VBA z długim typem danych

Długi typ danych jest najczęściej używanym typem danych w Excel VBA. Może zawierać wartości od -2 147 483 648 do 2 147 486 647. Wszystko powyżej spowoduje błąd.

Kod:

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

Spowoduje to błąd przepełnienia.

Aby rozwiązać ten problem, musimy użyć funkcji CLNG w VBA. Poniżej znajduje się przykład tego samego.

Kod:

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

To powinno działać dobrze.

To jest omówienie błędu 6: Przepływ w czasie wykonywania . Aby rozwiązać ten błąd, musimy mieć pełną świadomość typów danych. Więc wróć do podstaw, zrób podstawy dobrze, a wtedy wszystko będzie na swoim miejscu.

Możesz pobrać ten szablon Excela błędu przepełnienia VBA tutaj - Szablon Excela błędu przepełnienia VBA

Interesujące artykuły...