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