Indeks dolny VBA Excel poza zakresem

Indeks dolny VBA poza zakresem lub w dużej mierze znany jako Błąd czasu wykonania 9, który pojawia się, gdy wybieramy taką komórkę, arkusz lub skoroszyt, który w rzeczywistości nie wchodzi w zakres lub kryteria zdefiniowane w programie Excel. To tak, jakbyśmy wybrali zakres 100 komórek lub kolumny i wywołaliśmy wartości zapisane w 120 komórkach tej samej kolumny. Co oznacza, że ​​wychodzimy poza zasięg, aby wybrać i wywołać wartości, które nie są w naszych zdefiniowanych kryteriach. Gdy taka sytuacja się zdarza, podczas kompilowania lub uruchamiania kodu pojawia się komunikat „Błąd wykonania 9”. Komunikat o błędzie „Poza zasięgiem indeksu VBA” prowadzi nas do naprawienia błędu związanego z zakresem wybranym w programie Excel.

Przykład Excel VBA Indeks dolny poza zakresem

Poniżej znajdują się różne przykłady indeksu VBA poza zakresem w programie Excel.

Możesz pobrać ten indeks VBA poza zakresem Szablon Excel tutaj - Indeks VBA poza zakresem Szablon Excel

Indeks dolny VBA poza zakresem - przykład nr 1

Najpierw rozważymy prosty przykład. W tym celu musimy przejść do okien VBA i dodać nowy moduł, przechodząc do opcji menu Wstaw, jak pokazano poniżej.

Otrzymamy białe puste okno modułu. W tym miejscu musimy wykonać prace związane z kodowaniem.

Teraz napisz Podkategorię wykonanej funkcji, dla najlepszej praktyki zachowaj nazwę funkcji w Podkategorii, tak jak zrobiliśmy to tutaj dla VBA Subscript poza zakresem.

Kod:

 Sub Subscript_OutOfRange1 () End Sub 

W programie Excel mamy tylko jeden arkusz o nazwie „Arkusz1”, jak pokazano poniżej.

Ale napiszemy kod, aby wybrać arkusz, który nawet nie został dodany i zobaczyć, co się stanie.

Teraz przejdź do okna VBA i napisz Arkusze (2), a następnie wybierz funkcję, jak pokazano poniżej. Co oznacza, że ​​wybieramy sekwencję arkuszy drugiej pozycji z funkcją Select.

Kod:

 Sub Subscript_OutOfRange1 () Sheets (2) .Wybierz End Sub 

Teraz skompiluj cały kod lub zrób to krok po kroku, aby dowiedzieć się, która część kodu jest błędem. Ponieważ mamy tylko jedną linię kodu, możemy bezpośrednio uruchomić kod, klikając przycisk odtwarzania poniżej paska menu. Otrzymamy komunikat o błędzie „ Błąd wykonania 9, indeks poza zakresem ” w VBA, jak pokazano poniżej.

To pokazuje, że próbujemy wybrać ten arkusz, który nie istnieje. Jeśli dodamy nowy arkusz lub zmienimy sekwencję arkuszy w kodzie z 2 na 1, możemy uzyskać pomyślne uruchomienie kodu. Dodajmy kolejny arkusz i zobaczmy, co się stanie.

Teraz ponownie uruchom kod. A ponieważ nie widzieliśmy żadnego błędu, co oznacza, że ​​nasz kod kończy pomyślne uruchomienie.

Indeks dolny VBA poza zakresem - Przykład 2

W innym przykładzie ponownie zobaczymy prosty kod aktywacji arkusza roboczego. W tym celu ponownie napiszemy kod. Zacznij pisać podkategorię w nazwie wykonywanej funkcji lub w dowolnej innej nazwie, jak pokazano poniżej.

Kod:

 Sub Subscript_OutOfRange2 () End Sub 

Teraz za pomocą arkusza roboczego aktywujemy arkusz 1, jak pokazano poniżej.

Kod:

 Sub Subscript_OutOfRange2 () Arkusze („Arkusz1”). Aktywuj End Sub 

Teraz skompiluj cały kod i uruchom. Zauważymy, że nie pojawił się komunikat o błędzie, co oznacza, że ​​uruchomienie kodu zakończyło się powodzeniem. Teraz umieśćmy przestrzeń pomiędzy „Arkuszem 1”

Ponownie skompiluj i uruchom kod.

Jak widać powyżej, nawet jeśli nasz kompletny proces i sposób pisania kodu są prawidłowe, ale przyjęliśmy prawidłową nazwę arkusza jako „Arkusz 1”. Które w rzeczywistości nie ma spacji między „Arkuszem 1”.

To pokazuje, że nadal istnieje szansa na błąd, jeśli nie przeliterujesz ani nie napiszesz poprawnej nazwy arkusza lub skoroszytu.

Indeks dolny VBA poza zakresem - Przykład 3

W tym przykładzie zobaczymy, jak wybór niepoprawnego zakresu macierzy może stworzyć i wyświetlić błąd czasu wykonania 9. Zacznij ponownie pisać podkategorię w nazwie wykonywanej funkcji, jak pokazano poniżej.

Kod:

 Sub Subscript_OutOfRange3 () End Sub 

Teraz za pomocą DIM zdefiniuj tablicę o dowolnym rozmiarze i przekaż ją do String lub Integers. Co zależy od tego, co chcemy przechowywać w tablicy, liczbach lub tekście.

Tutaj rozważaliśmy tablicę 2 × 3 jako String, jak pokazano poniżej.

Kod:

 Sub Subscript_OutOfRange3 () Dim SubArray (2, 3) As String End Sub 

W ten sposób utworzy tabelę dla 2 wierszy i 3 kolumn i możemy przechowywać dowolne wartości zgodnie z naszymi potrzebami. Ponieważ wybraliśmy String, rozważymy w nim tekst lub alfabety.

Teraz w drugim wierszu kodu wybierz utworzoną tablicę, ale z dodatkową lub większą liczbą kolumn i przypisz tekst jako ABC lub dowolny inny tekst według własnego wyboru. Tutaj wybraliśmy tablicę 2 × 5, jak pokazano poniżej.

Kod:

 Sub Subscript_OutOfRange3 () Dim SubArray (2, 3) As String StringArray (2, 5) = ABC End Sub 

Teraz skompiluj i uruchom kod. Jak widać na poniższym zrzucie ekranu, otrzymaliśmy komunikat o błędzie poza zakresem VBA dla błędu wykonania 9.

Przyczyną tego błędu jest to, że wybraliśmy niepoprawny zakres macierzy w 2 dodatkowych kolumnach od 2 × 3 do 2 × 5, co przekracza limit kodu. Teraz, jeśli ponownie wybierzemy prawidłowy zakres tablicy jako 2 × 3 i zobaczymy, co się stanie.

Po skompilowaniu i uruchomieniu kodu. Zobaczymy, że nie otrzymaliśmy żadnego błędu, co oznacza, że ​​uruchomienie kodu zakończyło się pomyślnie.

Plusy w indeksie Excel VBA poza zakresem

  • Indeks dolny VBA poza zakresem pozwala nam wiedzieć, jaki rodzaj błędu wystąpił. Abyśmy mogli konkretnie znaleźć rozwiązanie otrzymanego kodu błędu.
  • Ponieważ indeks dolny VBA poza zakresem „Błąd czasu wykonania 9” jest bardzo przydatny, ponieważ pozwala dowiedzieć się, jaki rodzaj błędu wystąpił w programie Excel.

Rzeczy do zapamiętania

  • Zaleca się stosowanie podkategorii w nazwie wykonywanej funkcji z sekwencją kodu, aby łatwo było ją poprawnie śledzić.
  • Zapisz plik jako skoroszyt z włączoną obsługą makr, aby uniknąć utraty napisanego kodu.
  • Jeśli masz ogromne linie kodu, lepiej skompilować każdą linię kodu jeden po drugim, naciskając klawisz F8. Ta metoda kompiluje każdy krok kodu, abyśmy mogli bezpośrednio wiedzieć, która część kodu ma błąd przy pierwszym uruchomieniu.

Polecane artykuły

To był przewodnik po Excel VBA Subscript poza zakresem. W tym miejscu omówiliśmy, dlaczego występuje błąd poza zakresem indeksu VBA (błąd czasu wykonania 9), a także kilka praktycznych przykładów i szablonu programu Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Jak naprawić błąd: VBA 1004?
  2. Zrozumienie błędów w programie Excel
  3. Kompletny przewodnik po VBA o błędzie
  4. Korzystanie z funkcji Excel IFRROR

Kategoria: