Błąd kompilacji VBA

Ten samouczek wyjaśni, co oznacza błąd kompilacji VBA i jak on występuje.

Przed uruchomieniem kodu edytor VBA kompiluje kod. Zasadniczo oznacza to, że VBA sprawdza twój kod, aby upewnić się, że wszystkie wymagania są spełnione, aby go poprawnie uruchomić - sprawdzi, czy wszystkie zmienne są zadeklarowane (jeśli używasz Option Explicit, co powinieneś!), sprawdź, czy wszystkie procedury są zadeklarowane , sprawdź pętle i instrukcje if itp. Kompilując kod, VBA pomaga zminimalizować wszelkie występujące błędy w czasie wykonywania.

(Zobacz nasz Przewodnik obsługi błędów, aby uzyskać więcej informacji na temat błędów VBA)

Niezadeklarowane zmienne

Jeśli nie zadeklarujesz zmiennych, ale twoja Option Explicit jest włączona w górnej części twojego modułu, a następnie uruchomisz makro, wystąpi błąd kompilacji.

Jeśli klikniesz OK, odpowiednia procedura przejdzie w tryb debugowania.

Alternatywnie, przed uruchomieniem kodu, możesz wymusić kompilację kodu.

w Menu, Wybierz Debuguj > Kompiluj projekt.

Kompilator znajdzie wszelkie błędy kompilacji i odpowiednio podświetli pierwszy znaleziony.

Procedury niezadeklarowane

Jeśli kod odwołuje się do procedury, która nie istnieje, otrzymasz również błąd kompilacji.

Na przykład:

1234 Podrzędna procedura wywołania()'tutaj jakiś kodZadzwoń do następnej proceduryNapis końcowy

Jeśli jednak procedura - NastępnaProcedura nie istnieje, wystąpi błąd kompilacji.

Nieprawidłowe kodowanie – oczekiwany koniec wypowiedzi

Jeśli utworzysz pętlę za pomocą Dla… Każdy… Dalej lub Z… Zakończ z i zapomnij i Następny albo Kończyć z… otrzymasz również błąd kompilacji.

123456 Błąd kompilacji podrzędnej()Dim wb jako skoroszytDim ws As WorksheetDla każdego ws W wbMsgBox ws.NameNapis końcowy

To samo stanie się z instrukcją If, jeśli pominięto End If!

Brakujące odniesienia

Jeśli używasz biblioteki obiektów, która nie jest częścią programu Excel, ale używasz obiektów z biblioteki w deklaracji zmiennej, otrzymasz również błąd kompilacji.

Można to rozwiązać przez późne wiązanie - deklarując, że zmienne są obiektami; lub dodając odpowiednie Biblioteka obiektów do Projektu.

w Menu, Wybierz Narzędzia > Referencje i dodaj odpowiednią bibliotekę obiektów do swojego projektu.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave