Eroare de compilare VBA

Acest tutorial va explica ce înseamnă o eroare de compilare VBA și cum se produce.

Înainte de a vă rula codul, Editorul VBA compilează codul. Acest lucru înseamnă practic că VBA vă examinează codul pentru a vă asigura că toate cerințele sunt acolo pentru a-l rula corect - va verifica dacă toate variabilele sunt declarate (dacă utilizați Option Explicit pe care ar trebui!), Verificați dacă toate procedurile sunt declarate , verificați buclele și instrucțiunile if etc. Prin compilarea codului, VBA ajută la minimizarea oricăror erori de runtime care apar.

(Consultați Ghidul nostru de gestionare a erorilor pentru mai multe informații despre erorile VBA)

Variabile nedeclarate

Dacă nu declarați variabile, dar Opțiunea explicită este activată în partea de sus a modulului și apoi rulați macrocomanda, va apărea o eroare de compilare.

Dacă faceți clic pe OK, procedura relevantă va intra în modul de depanare.

Alternativ, înainte de a rula codul, puteți forța o compilare a codului.

În Meniul, Selectați Depanare> Compilare proiect.

Compilatorul va găsi orice erori de compilare și îl va evidenția pe primul pe care îl găsește în consecință.

Proceduri nedeclarate

Dacă codul se referă la o procedură care nu există, veți primi și o eroare de compilare.

De exemplu:

1234 Sub CallProcedure ()atunci ceva cod aiciApelați NextProcedureSfârșitul Sub

Cu toate acestea, dacă procedura - Următoarea procedură nu există, atunci va apărea o eroare de compilare.

Codificare incorectă - Sfârșitul așteptat

Dacă creați o buclă folosind Pentru … Fiecare … Următorul sau Cu … Încheie cu și uitați de și Următorul sau Se termina cu… Veți primi și o eroare de compilare.

123456 Sub CompileError ()Dim wb Ca registru de lucruDim ws Ca foaie de lucruPentru fiecare ws În wbMsgBox ws.NameSfârșitul Sub

Același lucru se va întâmpla cu o instrucțiune If dacă opțiunea End If este omisă!

Referințe lipsă

Dacă utilizați o bibliotecă de obiecte care nu face parte din Excel, dar utilizați obiectele din bibliotecă în declarația variabilă, veți primi și o eroare de compilare.

Acest lucru poate fi rezolvat fie prin Late Binding - declarând că variabilele sunt Obiecte; sau prin adăugarea relevantei Biblioteca de obiecte la proiect.

În Meniul, Selectați Instrumente> Referințe și adăugați biblioteca de obiecte relevante la proiectul dvs.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave