Help! Ik krijg een foutmelding
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
* 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 |