VBA Uitleg
  • Home
  • Boeken
  • Vuistregels, fouten, sneltoetsen
  • Macrobeveiliging instellen
  • Datums van Feestdagen
  • EXCEL macro's
  • - Alle opmerkingen opmaken
  • - Unieke getallen
  • - Naar de cel met vandaag
  • - Gekleurde cellen optellen
  • - Functies ronde vormen
  • - Gratis downloads
  • - Engels
  • WORD macro's
  • - Woord tellen
  • - Dialoogvenster etiketten
  • - Automatisch zonder macro
  • Contact
  • - Wim is...
Home > Uitleg > Foutmeldingen
> Lees algemene basistips

Help! Ik krijg een foutmelding

Picture
Op een onverwacht moment kan er een foutmelding in beeld komen. Lastig, vooral als u niet weet waardoor dat komt. Hier ziet u
* de melding die in beeld komt,
​* de melding in het Engels,
* wat de oorzaak is,
* hoe u de fout oplost.
Deze lijst komt uit Appendix B. Foutmeldingen van mijn boek Excel VBA voor professionals Tweede editie

Compileerfouten

Foutmelding
Engels
Oorzaak
Oplossing

​
Foutmelding
Engels
Oorzaak
Oplossing


Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing


Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding

Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing


Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding

Engels
Oorzaak
Oplossing

Foutmelding

Engels
Oorzaak
Oplossing


Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing


Foutmelding

Engels
Oorzaak
Oplossing




Foutmelding
Engels
Oorzaak
Oplossing
Compileerfout: Syntaxisfout
Compile error: Syntax error

U gebruikt voor de naam van een variabele een sleutelwoord van VBA , bijvoorbeeld Type, Stop, Sub, Set, For of End
Vermijd deze woorden of typ er ‘Mijn’ voor


Compileerfout: Verwacht: variabele
Compile error: Expected: variable

U gebruikt voor de naam van een variabele een sleutelwoord van VBA , bijvoorbeeld Type, Stop, Sub, Set, For of End
​Vermijd deze woorden of typ er ‘Mijn’ voor


Compileerfout: Een variabele is niet gedefinieerd
Compile error: Undefind variable
Met Option Explicit ingeschakeld: een variabele is niet gedeclareerd
Declareer elke variabele met Dim of schakel Option Explicit uit
 
Compileerfout: Het argument is niet optioneel
Compile error: Argument not optional
U hebt een argument dat verplicht is, niet opgegeven
Geef het betreffende argument op (zie de syntaxis van de betreffende functie)


Compileerfout: Verwacht expressie
Compile error: Expected: expression
Er staat niets na het isgelijkteken = . Bijvoorbeeld Getal =
Typ achter de = een waarde, of een functie die een waarde oplevert

Compileerfout: Blok If zonder End If
Compile error: Block If without End If
Een blok If...Then wordt niet afgesloten met End If
Volgen er meer opdrachten na Then, typ dan End If onder het blok dat met If begint,
volgt er één opdracht na Then, typ die opdracht dan achter Then op de regel die met If begint


Compileerfout: Verwacht lijstscheidingsteken of )

Compile error: Expected: List Separator or )
U hebt een regel afgebroken waar dat niet mag, bijvoorbeeld tussen dubbele aanhalingstekens
Breek de regel correct af

Compileerfout: Verwacht lijstscheidingsteken of )

Compile error: Expected: List Separator or )
Na een haakje-openen mist een haakje sluiten, bijvoorbeeld Range("A1:A5"
Typ het haakje-sluiten

Compileerfout: Verwacht lijstscheidingsteken of )

Compile error: Expected: List Separator or )
Mogelijk staat het teken & pal aan een woord
Typ een spatie links en rechts van de &

Compileerfout: Verwacht iets links van de =

Compile error: Expected: left-side of =
Bij een zelfgemaakte functie: de naam van de functie is anders dan de variabele die de uitkomst geeft
Zorg dat de naam van de functie en de variabele die de uitkomst geeft, gelijk zijn


Compileerfout: Verwacht instructie-einde
Compile error: Expected: end of statement
Mogelijk begint een tekst met een aanhalingsteken en mist dat aan het eind (of andersom)
Zorg dat de tekst tussen aanhalingsteken staat

Compileerfout: Functie-oproep aan de linkerkant van de toewijzing moet een Variant of Object als resultaat geven
Compile error: Function call on left-hand side of assignment must return Variant or Object
Mogelijk hebt u na MsgBox het teken = getypt
Verwijder het teken = na MsgBox

Compileerfout: Ongeldige verwijzing naar besturingselementvariabele Next

Compile error: Invalid Next control variable reference
In de lus For...Next heeft de teller beide keren niet exact dezelfde naam
Laat de spelling van de teller op beide plaatsen overeenkomen

Compileerfout: Ongeldige of niet-gekwalificeerde verwijzing

Compile error: Invalid or unqualified reference
Tussen het object en de methode staat na de punt een spatie, bijvoorbeeld
Thisworkbook. Close
Verwijder de spatie: Thisworkbook.Close


Compileerfout: Dubbelzinnige naam gevonden
Compile error: Ambiguous name detected
Twee procedures hebben dezelfde naam
Zorg dat elke Sub een unieke naam heeft, voeg er bijvoorbeeld 1 of 2 aan toe

Compileerfout: Object vereist
Compile error: Object required
In een blok With…End With staat het object bij With of een punt links van de methoden niet goed
Corrigeer de verwijzing naar het object

Compileerfout: Object vereist
Compile error: Object required
U verwijst in de code naar een TextBox van een UserForm, dat nog niet bestaat
Maak het UserForm met de TextBox

Compileerfout: Er wordt een matrix verwacht
Compile error: Expected: array
U werkt met een array en hebt als gegevenstype niet As Variant ingesteld
Geef als declaratie op: Dim MijnArray As Variant
 
Compileerfout: Er mogen alleen opmerkingen staan na End Sub
Compile error: Only comments may appear after End Sub, End Function, or End Property
Er staat tekst onder End Sub
Verwijder die tekst of maak er commentaar van met een ' links van de regel

Compileerfout: Een door de gebruiker gedefinieerd gegevenstype is niet gedefinieerd
Compile error: User-defined data type not defined
U hebt bij het declareren van het type van een variabele een spelfout gemaakt, bijvoorbeeld Dim Getal As Integ
Pas een bestaand gegevenstype toe

Compileerfout: Een door de gebruiker gedefinieerd gegevenstype is niet gedefinieerd
Compile error: User-defined data type not defined
U hebt een eigen gegevenstype gedeclareerd, bijvoorbeeld Dim Iemand As Persoon, maar dat type nog niet ingesteld
Zie hoofdstuk 5, de paragraaf Zelf gegevenstype maken

Compileerfout: Een door de gebruiker gedefinieerd gegevenstype is niet gedefinieerd
Compile error: User-defined data type not defined
Als u met Early binding uit Excel verwijst naar Word
Schakel via Extra en Verwijzingen de optie Microsoft Word in

Fouten tijdens uitvoering (runtime-fouten)

Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing

Foutmelding
Engels
Oorzaak
Oplossing

Fout 6 tijdens uitvoering: Overloop
Run-time error 6: Overflow
U gebruikt een te klein gegevenstype, bijvoorbeeld As Integer voor grote getallen
Neem een type voor grotere getallen zoals As Long

Fout 9 tijdens uitvoering: Het subscript valt buiten het bereik
Run-time error 9: Subscript out of range
U verwijst naar een object dan niet bestaat
Verbeter de naam van het object waarnaar u verwijst
 
Fout 13 tijdens uitvoering: Typen komen niet overeen
Run-time error 13: Type mismatch
U vult een variabele met bijvoorbeeld tekst terwijl het type een getal is
Zorg dat de waarde past in het type van de variabele

Fout 28 tijdens uitvoering: Onvoldoende stackruimte
Run-time error 28: Out of stack space
Uw locale variabelen vereisen meer geheugenruimte dan beschikbaar is
Probeer variabelen te declareren op moduleniveau (zie hoofdstuk 5)

Fout 28 tijdens uitvoering: Onvoldoende stackruimte
Run-time error 28: Out of stack space
Een macro voert zichzelf uit en komt in een eindeloze lus
Voeg een voorwaarde toe, waardoor de macro kan stoppen

Fout 28 tijdens uitvoering: Onvoldoende stackruimte
Run-time error 28: Out of stack space
Er zijn te veel procedures actief
Controleer of een event-macro te vaak actief wordt

Fout 438 tijdens uitvoering: Deze eigenschap of methode wordt niet ondersteund
Run-time error 438: Object doesn’t support this property or method
U gebruikt een WorksheetFunction van Excel waarvoor een ingebouwde VBA-functie bestaat
Gebruik de betreffende VBA-functie

Fout 438 tijdens uitvoering: Deze eigenschap of methode wordt niet ondersteund
Run-time error 438: Object doesn’t support this property or method
U gebruikt Mod als een functie, bijvoorbeeld Getal = Mod(13,6)
Plaats Mod als operator tussen de beide getallen, dus Getal = 13 Mod 6

Fout 1004 tijdens uitvoering: Door object of toepassing gemaakte fout
Run-time error 1004: Application-defined or Object-defined error
Een event-macro zit in de weg
Schakel event-macro's tijdelijk uit met Application.EnableEvents = False

Kan de code niet uitvoeren in de onderbrekingsmodus
Cannot execute code in break mode
U voert de code uit terwijl een foute regel nog geel gemarkeerd is
Klik op de knop Beginwaarden en voer daarna de verbeterde macro uit
Wim de Groot denkt buiten de hokjes
Auteursrecht    Disclaimer    Contact