VBA -kompileringsfeil

Denne opplæringen vil forklare hva en VBA -kompileringsfeil betyr og hvordan den oppstår.

Før du kjører koden din, kompilerer VBA Editor koden. Dette betyr i utgangspunktet at VBA undersøker koden din for å sikre at alle kravene er der for å kjøre den riktig - den vil kontrollere at alle variablene er deklarert (hvis du bruker Option Explicit som du bør!), Sjekk at alle prosedyrene er deklarert , sjekk sløyfene og hvis setninger etc. Ved å kompilere koden, hjelper VBA til å minimere eventuelle kjøretidsfeil.

(Se vår feilhåndteringsguide for mer informasjon om VBA -feil)

Ikke -deklarerte variabler

Hvis du ikke deklarerer variabler, men Option Explicit er slått på øverst i modulen, og deretter kjører du makroen, vil det oppstå en kompileringsfeil.

Hvis du klikker OK, går den aktuelle prosedyren over i feilsøkingsmodus.

Alternativt, før du kjører koden din, kan du tvinge fram en samling av koden.

I Meny, plukke ut Debug> Kompiler prosjekt.

Kompilatoren vil finne eventuelle kompileringsfeil og markere den første den finner tilsvarende.

Ikke -deklarerte prosedyrer

Hvis du koder refererer til en prosedyre som ikke eksisterer, får du også en kompileringsfeil.

For eksempel:

1234 Sub Call Prosedyre ()'litt kode her daRing neste prosedyreSlutt Sub

Imidlertid, hvis prosedyren - Neste prosedyre ikke eksisterer, vil det oppstå en kompileringsfeil.

Feil koding - Forventet slutt på uttalelsen

Hvis du oppretter en løkke med For… Hver… Neste eller Med… Slutt med og glem til og Neste eller Slutt med… du vil også få en kompileringsfeil.

123456 Sub CompileError ()Dim wb Som arbeidsbokDim ws Som regnearkFor hver ws i wbMsgBox ws.NameSlutt Sub

Det samme vil skje med en If -setning hvis End If utelates!

Mangler referanser

Hvis du bruker et objektbibliotek som ikke er en del av Excel, men du bruker objektene fra biblioteket i variabelerklæringen, vil du også motta en kompileringsfeil.

Dette kan løses ved enten sen binding - deklarere at variablene er objekter; eller ved å legge til det relevante Objektbibliotek til prosjektet.

I Meny, plukke ut Verktøy> Referanser og legg til det relevante objektbiblioteket i prosjektet ditt.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave