VBA -kompileringsfel

Denna handledning kommer att förklara vad ett VBA -kompileringsfel betyder och hur det uppstår.

Innan du kör din kod kompilerar VBA Editor koden. Detta betyder i princip att VBA undersöker din kod för att se till att alla krav finns för att köra den korrekt - den kommer att kontrollera att alla variabler deklareras (om du använder Option Explicit som du borde!), Kontrollera att alla procedurer är deklarerade , kontrollera slingorna och om påståenden etc. Genom att sammanställa koden hjälper VBA till att minimera eventuella driftstidsfel.

(Se vår felhanteringsguide för mer information om VBA -fel)

Odeklarerade variabler

Om du inte deklarerar variabler, men alternativet Explicit är aktiverat högst upp i modulen, och sedan kör du makrot, uppstår ett kompileringsfel.

Om du klickar på OK kommer den relevanta proceduren att gå till felsökningsläge.

Alternativt, innan du kör din kod, kan du tvinga fram en sammanställning av koden.

I Meny, Välj Debug> Kompilera projekt.

Kompilatorn hittar eventuella kompileringsfel och markerar det första som den hittar därefter.

Odeklarerade förfaranden

Om du kodar refererar till en procedur som inte finns, får du också ett kompileringsfel.

Till exempel:

1234 Sub CallProcedure ()'lite kod här dåRing NextProcedureAvsluta Sub

Men om proceduren - Nästa förfarande existerar inte, uppstår ett kompileringsfel.

Felaktig kodning - Förväntat slut på uttalande

Om du skapar en loop med För… Varje… Nästa eller Med … Sluta med och glöm till och Nästa eller den Sluta med… får du också ett kompileringsfel.

123456 Sub CompileError ()Dim wb Som arbetsbokDim ws Som arbetsbladFör varje ws i wbMsgBox ws.NameAvsluta Sub

Detsamma kommer att hända med ett If -uttalande om End If utelämnas!

Referenser saknas

Om du använder ett objektbibliotek som inte ingår i Excel, men du använder objekten från biblioteket i din variabeldeklaration, får du också ett kompileringsfel.

Detta kan lösas genom antingen sen bindning - deklarera att variablerna är objekt; eller genom att lägga till relevant Objektbibliotek till projektet.

I Meny, Välj Verktyg> Referenser och lägg till det relevanta objektbiblioteket i ditt projekt.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave