Excel Subscript Out of Range Error w VBA (z 5 rozwiązaniami)

  • Udostępnij To
Hugh West

W tym artykule pokażemy Ci powody, dla których " Indeks dolny poza zakresem " błąd w Excelu VBA i jak je rozwiązać.

Pobierz szablon praktyki

Darmowy szablon Excela z praktyką można pobrać stąd.

Błąd zapisu poza zakresem w VBA.xlsm

Co to jest Subscript Out of Range Error w VBA?

VBA indeks dolny poza zakresem Błąd pojawia się, gdy próbujemy uzyskać dostęp do nieistniejącego członka lub nieistniejącej kolekcji tablic w Excelu. Jest to błąd typu " Błąd w czasie pracy 9 " typ błędu w VBA kodowanie w Excelu.

Błąd zazwyczaj wygląda tak,

5 Przyczyny i rozwiązania błędu indeksów dolnych poza zakresem w VBA

W tej części omówionych zostanie 5 najczęstszych przyczyn występowania. Indeks dolny poza zakresem błąd i jakie są jego rozwiązania.

1. błąd indeksów poza zakresem w VBA dla nieistniejącego skoroszytu

Gdy spróbujesz uzyskać dostęp do skoroszytu programu Excel, który nie jest otwarty, otrzymasz komunikat " Indeks dolny poza zakresem " błąd.

Jeśli spróbujemy Uruchom pokazany powyżej kod, otrzymamy błąd, ponieważ nie istnieje żaden skoroszyt Excela o nazwie " Sprzedaż ", który jest obecnie otwarty.

Rozwiązanie

Aby rozwiązać ten błąd, najpierw otwórz skoroszyt programu Excel, do którego chcesz uzyskać dostęp, a następnie Uruchom makro.

2. błąd indeksów poza zakresem w VBA dla nieistniejącego arkusza

Gdy próbujesz uzyskać dostęp do arkusza, który nie istnieje w skoroszycie programu Excel, otrzymasz również komunikat " Indeks dolny poza zakresem " błąd w VBA .

Jeśli spróbujemy uruchomić pokazany powyżej kod, otrzymamy błąd, ponieważ nie ma " Plansza2 " arkusz roboczy dostępny w naszym zeszycie.

Rozwiązanie

Aby rozwiązać ten błąd, musisz mieć arkusz Excela, do którego chcesz uzyskać dostęp w uruchomionym skoroszycie, a następnie Uruchom makro.

3. błąd indeksów poza zakresem w VBA dla niezdefiniowanych elementów tablicy

Jeśli nie określisz długości dynamicznej tablicy słowem DIM lub REDIM w Excelu VBA , to dostaniesz " Indeks dolny poza zakresem " błąd.

W powyższym kodzie zadeklarowaliśmy tablicę w wymiarze od 5 do 10, ale odwołaliśmy się do indeksu 3, który jest niższy od 5.

Rozwiązanie

Aby to rozwiązać, zadeklaruj indeks w między wymiarami Array.

Ten fragment kodu działa doskonale, ponieważ tutaj odwołaliśmy się do indeksu 5, który znajduje się wewnątrz zakresu od 5 do 10.

4) Błąd indeksów poza zakresem w VBA dla nieprawidłowej kolekcji / tablicy

Gdy indeks jest większy lub mniejszy od zakresu możliwych indeksów, wtedy Indeks dolny poza zakresem pojawi się błąd.

Spójrz na powyższy przykład, zadeklarowaliśmy zmienną jako Array, ale zamiast przypisać punkt początkowy i końcowy, bezpośrednio przypisaliśmy pierwszą tablicę z wartością 20.

Rozwiązanie

Aby naprawić ten problem, musimy przypisać długość tablicy z punktem początkowym i końcowym.

Ten kod nie daje żadnego błędu, ponieważ teraz zadeklarowaliśmy Array z punktem początkowym 1 i punktem końcowym 5.

5) Błąd indeksów poza zakresem w VBA dla skryptów skróconych

Jeśli użyjesz skrótu z indeksu i będzie on odnosił się do nieprawidłowego elementu, to otrzymasz " Indeks dolny poza zakresem " błąd w Excelu VBA Na przykład, [A2] jest skrótem od ActiveSheet.Range(A2) .

Rozwiązanie

Aby to naprawić, musisz użyć ważnego nazwa klucza oraz indeks dla kolekcji. Zamiast pisać ActiveSheet.Range(A2) , można po prostu napisać [ A2 ].

Korzyści z Excel Subscript Out of Range Error w VBA

  • VBA indeks dolny poza zakresem błąd lub " Błąd czasu pracy 9 " jest naprawdę przydatny do określenia pozycji błędu, w której wystąpił w VBA kod.
  • Ten błąd pomaga użytkownikom znaleźć typ błędu, aby mogli sprawdzić i znaleźć rozwiązania zgodnie z kodem błędu.

Rzeczy do zapamiętania

  • Ponieważ błąd ten kompiluje każdy krok kodu, aby nakierować nas dokładnie na to, dla której części kodu faktycznie musimy podjąć działania, więc lepiej jest kompilować każdą linię kodu po kolei naciskając F8 klucz, jeśli masz ogromną linię kodu.

Wniosek

Ten artykuł pokazał Ci przyczyny i rozwiązania Excela Indeks dolny poza zakresem błąd w VBA. Mam nadzieję, że ten artykuł był dla Ciebie bardzo korzystny. Zapraszam do zadawania wszelkich pytań związanych z tematem.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.