• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

macro excel 2003 geeft foutmelding in 2010

Status
Niet open voor verdere reacties.

shanna

Gebruiker
Lid geworden
11 apr 2007
Berichten
130
ik heb een macrotje voor het sluiten van het actieve bestand zonder opslaan en die geeft in 2010 de foutmelding: Compileerfout een variabele is niet gedefinieerd. Weten jullie wat er aan mankeert?

HTML:
naam_werkmap = "te versturen act lijst clientadm.xlsm"

geopend = False

For Each i In Application.Workbooks
If i.Name = naam_werkmap Then
geopend = True
End If
Next

If Not geopend Then
MsgBox "Het bestand " & naam_werkmap & " is momenteel niet geopend."
Else
Application.DisplayAlerts = False
Application.Workbooks(naam_werkmap).Close
Application.DisplayAlerts = True
End If
End Sub
 
Aan je code te zien is geen enkele variabele gedefiniëerd.
Als dan het project in Office 2010 begint met de regel "Option Explicit" dan is dat verplicht.
 
Dat was zo, option expliciet verwijderd en opgelost, dank je wel. Wat doet option explicit?
 
Je kunt Option Explicit beter laten staan en dan de variabelen goed declareren.
Option Explicit zorgt ervoor dat de compiler controleert of alle gebruikte variabelen ook wel gedeclareerd zijn.
Zo kun je nooit een variabele vergeten en zijn ze ook meteen van het juiste datatype.
In 1 zo'n kleine macro maakt dat natuurlijk niet uit, maar het is wel een stuk netter en in grotere projecten heb je er alleen maar gemak van.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan