VBA-compileerfout

In deze zelfstudie wordt uitgelegd wat een VBA-compilerfout betekent en hoe deze optreedt.

Voordat u uw code uitvoert, compileert de VBA-editor de code. Dit betekent in feite dat VBA uw code onderzoekt om er zeker van te zijn dat alle vereisten aanwezig zijn om het correct uit te voeren - het zal controleren of alle variabelen zijn gedeclareerd (als u Option Explicit gebruikt, wat u zou moeten doen!), Controleer of alle procedures zijn gedeclareerd , controleer de loops en if-statements enz. Door de code te compileren, helpt VBA om eventuele runtime-fouten te minimaliseren.

(Zie onze Error Handling Guide voor meer informatie over VBA-fouten)

Niet-gedeclareerde variabelen

Als u geen variabelen declareert, maar uw Option Explicit is ingeschakeld bovenaan uw module, en u voert de macro uit, zal er een compileerfout optreden.

Als u op OK klikt, gaat de betreffende procedure in de foutopsporingsmodus.

Als alternatief kunt u, voordat u uw code uitvoert, een compilatie van de code forceren.

In de Menu, selecteer Foutopsporing > Project compileren.

De compiler zal eventuele compileerfouten vinden en de eerste die het vindt dienovereenkomstig markeren.

Niet-aangegeven procedures

Als je code verwijst naar een procedure die niet bestaat, krijg je ook een compileerfout.

Bijvoorbeeld:

1234 Sub-oproepprocedure()'hier dan een code'Bel de volgende procedureEinde sub

Als de procedure echter - VolgendeProcedure niet bestaat, zal er een compileerfout optreden.

Onjuiste codering - verwacht einde van verklaring

Als u een lus maakt met Voor… Elke… Volgende of Met… Eindig met en vergeet te en de Volgende of de Eindigt met… je krijgt ook een compileerfout.

123456 Subcompileerfout()Dim wb als werkboekDim ws als werkbladVoor elke ws In wbMsgBox ws.NaamEinde sub

Hetzelfde zal gebeuren met een If-statement als de End If wordt weggelaten!

Ontbrekende referenties

Als u een objectbibliotheek gebruikt die geen deel uitmaakt van Excel, maar u gebruikt de objecten uit de bibliotheek in uw variabeledeclaratie, dan krijgt u ook een compileerfout.

Dit kan worden opgelost door ofwel Late Binding - de variabelen te declareren als Objects; of door de relevante . toe te voegen Objectbibliotheek naar het Project.

In de Menu, selecteer Hulpmiddelen > Referenties en voeg de relevante objectbibliotheek toe aan uw project.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave