Wprowadzenie do błędu przepełnienia VBA

Podczas pracy z VBA napotykamy wiele typów błędów. Błędy nazywane są błędami środowiska wykonawczego, gdy napotkały błąd podczas wykonywania kodu. Ponadto do każdego kodu przypisany jest określony kod podczas programowania VBA. W programie Excel jednym takim błędem jest błąd przepełnienia VBA. Kodem tego błędu jest błąd wykonania 6, co oznacza przepełnienie programowania VBA. O tym błędzie dowiemy się w tym artykule.

Teraz wiemy, co ten błąd przepełnienia jest rodzajem błędu, teraz pozwól nam zrozumieć, co oznacza ten błąd. Jeśli zadeklarujemy dowolną zmienną jako określony typ danych, a wartość zmiennej przekroczy limit typu danych zmiennej, otrzymamy błąd przepełnienia. Na przykład, jeśli zdefiniujemy zmienną jako liczbę całkowitą i wiemy, że liczba całkowita może przechowywać wartości do 32767 dla liczb dodatnich i -32768 dla liczb ujemnych. Więc jeśli dostarczymy jakieś dane poza tym zakresem, napotkamy błąd przepełnienia w VBA.

Błąd przepełnienia w kategoriach laika oznacza, że ​​przeciążamy typ danych wartościami, które może on przechowywać. Takie przypadki napotkają nas na ten błąd. Aby uniknąć tego błędu, musimy wiedzieć, jakiego typu danych używamy, abyśmy mogli temu zapobiec.

Zobaczymy na różnych przykładach, że w różnych typach danych prawdopodobnie napotkamy ten błąd.

Jak korzystać z błędu przepełnienia VBA w programie Excel?

Nauczymy się korzystać z funkcji błędu przepełnienia VBA z kilkoma przykładami w programie Excel.

Możesz pobrać ten szablon Excel VBA OverFlow Error tutaj - Szablon Excel VBA OverFlow Error

Przykład # 1 - Błąd przepełnienia

W pierwszym przykładzie wykorzystajmy typ danych Integer. Spróbujmy przelać wartości, aby zmienne nie mogły ich zapisać i zobaczyć napotkany błąd.

Wykonaj poniższe czynności, aby użyć funkcji Błąd przepełnienia VBA w programie Excel:

Krok 1: Aby zacząć od VBA, pierwszą rzeczą, którą musimy zrobić, to włączyć kartę naszego programisty, a następnie kliknąć ją, aby otworzyć VB Editor z opcji Visual Basic, jak pokazano na zrzucie ekranu poniżej,

Krok 2: Kliknij na niego i włóż moduł w następujący sposób: Po kliknięciu na moduł. Kliknij dwukrotnie, a otworzy się dla nas kolejne okno, w którym napiszemy nasz kod.

Krok 3 : Po prawej stronie zobaczymy puste okno, zadeklarujemy podfunkcję i w ten sposób uruchamiamy makro w następujący sposób,

Kod:

 Sub Sample () End Sub 

Krok 4: Zadeklaruj zmienną jako liczbę całkowitą, aby mogła przechowywać dla nas wartość całkowitą,

Kod:

 Sub Sample () Dim A As Integer End Sub 

Krok 5: Teraz w zmiennej Zapisz taką wartość, która przepełni typ danych w następujący sposób,

Kod:

 Sub Sample () Dim A As Integer A = 4896 * 5000 End Sub 

Krok 6: Teraz wyświetl wartość A za pomocą funkcji msgbox,

Kod:

 Sub Sample () Dim A As Integer A = 4896 * 5000 MsgBox A End Sub 

Krok 7: Uruchom powyższy kod i sprawdź, jaki uzyskamy wynik,

Wystąpił ten błąd, ponieważ 4896 * 5000 przekracza limit liczby dodatniej dla typu danych liczb całkowitych do zatrzymania, a zmienna A jest przepełniona tą wartością, więc napotykamy ten błąd.

Przykład # 2 - Błąd przepełnienia

Teraz w tym przykładzie podajmy typ danych BYTE. Wiemy, że bajtowy typ danych może zawierać wartości od 0 do 255, ale wszelkie wartości inne niż ten zakres powodują błąd. Daj nam dowiedzieć się.

Krok 1: Mamy już włożony nasz moduł, możemy pracować nad tym samym lub utworzyć nowy. Ale pracujmy nad tym samym modułem, który wstawiliśmy. Kliknij dwukrotnie moduł, aby ponownie otworzyć okno kodu,

Krok 2: Zadeklaruj następną podfunkcję w następujący sposób,

Kod:

 Sub Sample1 () End Sub 

Krok 3: Zadeklaruj zmienną jako typ danych BYTE w następujący sposób,

Kod:

 Sub Sample1 () Dim A As Byte End Sub 

Krok 4: Teraz w Zmiennej wartości sklepu powyżej 255 w następujący sposób,

Kod:

 Sub Próbka 1 () Dim A As Byte A = 266 End Sub 

Krok 5: Użyj funkcji msgbox, aby wyświetlić wartość A,

Kod:

 Sub Sample1 () Dim A As Byte A = 266 MsgBox A End Sub 

Krok 6: Uruchommy powyższy kod, naciskając F5 i zobaczmy wynik,

Krok 7: Spróbujmy teraz zmienić wartość A na 244 i ponownie uruchom kod, aby zobaczyć wynik,

Kod:

 Sub Sample1 () Dim A As Byte A = 244 MsgBox A End Sub 

Krok 8: Po ponownym uruchomieniu kodu widzimy następujący wynik:

Kiedy uruchamiamy po raz pierwszy zmienna kodowa A ma wartości większe niż zakres, który może pomieścić typ danych BYTE, ale w drugim przypadku zmienna A ma dane w swoim zakresie typów danych, więc nie wystąpił błąd przepełnienia.

Przykład # 3 - Błąd przepełnienia

Teraz wykorzystajmy typ danych LONG jako przykład, ponieważ jest to najczęściej używany typ danych wśród programistów.

Krok 1: Ponownie będziemy pracować w tym samym module, który wcześniej wstawiliśmy. Musimy tylko dwukrotnie kliknąć moduł i jesteśmy w nim.

Krok 2: Zadeklaruj podfunkcję, jak pokazano na zrzucie ekranu.

Kod:

 Sub Sample2 () End Sub 

Krok 3: Zadeklaruj zmienną jako typ danych LONG w następujący sposób.

Kod:

 Sub Sample2 () Dim A As Long End Sub 

Krok 4: Teraz podobnie do powyższych przykładów przepełnijmy tę zmienną, ustawiając wartości powyżej zakresu w następujący sposób.

Kod:

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

Krok 5: Użyj funkcji msgbox, aby wyświetlić wartość A w następujący sposób.

Kod:

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

Krok 6: Kliknij powyższy przycisk Uruchom i zobacz, że napotkamy błąd przepełnienia.

Krok 7: Teraz istnieje metoda pokonania tego błędu w długim typie danych za pomocą funkcji CLNG w następujący sposób.

Kod:

 Sub Próbka 2 () Dim A As Long A = CLng (2000) * 365 MsgBox A End Sub 

Krok 8: Teraz, jeśli ponownie uruchomimy kod, możemy zobaczyć następujący wynik.

Co zrobiła funkcja CLNG? Przekształcił wartość w długą liczbę całkowitą, którą może przechowywać zmienna.

Jak przezwyciężyć błąd przepełnienia w VBA

Kiedy napotkamy błąd przepełnienia w VBA, co oznacza, że ​​jedna z naszych zmiennych, nie ma już więcej wartości, których nie może utrzymać. Musimy zidentyfikować zmienną i skorygować ją. Ponadto mamy funkcję CLNG dla długich typów danych, aby nam pomóc. Ale znajomość naszego typu danych naprawdę pomaga.

Rzeczy do zapamiętania

Są pewne rzeczy, które musimy pamiętać o błędzie przepełnienia w VBA:

  • Błąd przepełnienia to błąd czasu wykonywania.
  • Kod błędu błędu przepełnienia to 6.
  • Aby pokonać błąd przepełnienia, musimy wiedzieć, jaki typ danych może pomieścić, ile wartości.
  • Funkcja CLNG pomaga w błędzie przepełnienia dla długich typów danych.

Polecane artykuły

Jest to przewodnik po błędzie przepełnienia VBA. Tutaj omawiamy, jak korzystać z funkcji Excel VBA Overflow Error wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Funkcja kopiuj wklej w VBA
  2. Funkcja Excel podciągu
  3. Indeks dolny VBA poza zakresem
  4. Formuła Excel ISNUMBER

Kategoria: