Jak naprawić błąd „poza zakresem indeksu” w języku Visual Basic for Applications?



Wypróbuj Nasz Instrument Do Eliminowania Problemów

Visual Basic for Applications (VBA) to implementacja języka programowania Visual Basic opracowana przez firmę Microsoft. VBA może być używany do włączania UDF, automatyzacji zadań i uzyskiwania dostępu do WinAPI za pośrednictwem bibliotek DLL. Jednak całkiem niedawno pojawiło się wiele raportów, w których użytkownicy nie są w stanie wykonać niektórych poleceń, a „ Indeks dolny poza zakresem, błąd 9 ”Pojawia się, próbując to zrobić.



Błąd indeksu poza zakresem



Co powoduje błąd „Indeks poza zakresem” w VBA?

Po otrzymaniu wielu zgłoszeń od wielu użytkowników postanowiliśmy zbadać problem i opracować zestaw rozwiązań, aby całkowicie go naprawić. Przyjrzeliśmy się również powodom, dla których jest uruchamiany, i wymieniliśmy je w następujący sposób.



  • Nieistniejący element: W niektórych przypadkach możliwe jest, że odwołałeś się do elementu w poleceniu, który nie istnieje. Możliwe, że indeks dolny jest większy lub mniejszy niż zakres możliwych indeksów dolnych lub wymiary mogły nie zostać przypisane do tablicy w tym punkcie aplikacji.
  • Niezdefiniowane elementy: Możliwe, że nie zidentyfikowałeś liczby elementów w swoim kodzie, ważne jest, aby liczbę elementów w tablicy zdefiniować za pomocą poleceń „Dim” lub „ReDim”.
  • Niepoprawny członek kolekcji: W niektórych przypadkach użytkownik mógł odwołać się do nieistniejącego członka kolekcji. W przypadku nieprawidłowego odwołania do członka kolekcji może zostać wywołany ten błąd.
  • Skrótowy skrypt: Możliwe, że użyłeś skróconej formy indeksu dolnego i domyślnie określiłeś nieprawidłowy element. Ważne jest, aby użyć prawidłowej nazwy klucza.

Teraz, gdy masz już podstawową wiedzę na temat natury problemu, przejdziemy do rozwiązań. Upewnij się, że wdrażasz je w określonej kolejności, w której są przedstawione, aby uniknąć konfliktu.

Rozwiązanie 1: Sprawdzanie tablic

Możliwe, że zdefiniowałeś nieprawidłową wartość dla elementu Array. Dlatego zaleca się dwukrotne sprawdzenie wartości zdefiniowanej dla elementu Array i upewnienie się, że jest poprawna. Upewnij się również, że sprawdziłeś deklarację tablicy i zweryfikować górna i dolna granica. Jeśli tablice zostały ponownie zwymiarowane, upewnij się, że używasz rozszerzenia LBound i UBound funkcje warunkujące dostęp. Sprawdź pisownię nazwy zmiennej, jeśli indeks jest zmienną.

Tablica w VBA Excel



Rozwiązanie 2: Określenie liczby elementów

W niektórych przypadkach możliwe jest, że nie zdefiniowałeś liczby elementów w kodzie, z powodu których jest wywoływany błąd. Zaleca się określenie liczby elementów w tablicy przy użyciu rozszerzenia Żaden lub ReDim Funkcje.

Używanie Dim i ReDim do określenia liczby elementów

Rozwiązanie 3: Zmiana konstrukcji

Ten błąd jest zwykle wyzwalany, gdy użytkownik określi nieprawidłowego lub nieistniejącego członka kolekcji. Dlatego zamiast określać elementy indeksu, zaleca się podejście z „ Dla każdego… Dalej ”Konstrukcja.

Korzystanie z konstrukcji „For Each… Next”

Rozwiązanie 4: Sprawdzanie nazwy klucza i indeksu

W niektórych przypadkach możliwe jest, że użyłeś skróconej formy indeksu dolnego i określa ona nieprawidłowy element. Dlatego zaleca się używanie pliku ważny klucz Nazwa i indeks do kolekcji.

Używanie prawidłowej nazwy klucza

2 minuty czytania