Macro met foutmelding

Status
Niet open voor verdere reacties.

NIh1IlO

Gebruiker
Lid geworden
4 feb 2003
Berichten
759
Gegroet deskundigen

ik wilde een eenvoudig macrootje schrijven, doch ik krijg steeds een foutmelding op de in het rood aangeduide regel.

Wat doe ik verkeerd en/of hoe kan de fout ondervangen worden?

Met vriendelijke groeten op voorhand

nIh1IlO

Code:
Sub vakantieverwijdering()
Dim vak_datum
Dim huid_datum
Dim Al_dagen

vak_datum = InputBox("Voer de begindatum in van je vakantie: Format(mm/dd/yyyy)", "Begindatum vakantie")
If vak_datum = "" Then End
huid_datum = InputBox("Voer de huidige datum in van je vakantie: Format(mm/dd/yyyy)", "Huidige datum")
If huid_datum = "" Then End
vak_datum = Format(vak_datum, "### ### ###")
huid_datum = Format(huid_datum, "### ### ###")
[COLOR="Red"]Al_dagen = vak_datum - huid_datum[/COLOR]
MsgBox ("Je bent nog " & Al_dagen & " dagen verwijderd van je vakantievertrek")

End Sub
 
Laatst bewerkt door een moderator:
Beste meedenkers, ik heb zelf het probleem opgelost, misschien niet op de iedeale manier, maar het werkt. Ik heb in het rood hierna aangeduid hoe de oplossing werd bekomen.

nIh1IlO

vak_datum = Val(Format(vak_datum, "### ### ###"))
huid_datum = Val(Format(huid_datum, "### ### ###"))
 
Je het probleem is inderdaad gevonden (en opgelost :thumb:), de inputbox geeft een string terug, en geen datum. Je moet dus de string naar een datum 'casten':
Code:
vak_datum = cdate(vak_datum)
huid_datum = cdate(huid_datum)

Uiteraard is het nog beter om daar typed variabelen voor te gebruiken, dus:
Code:
Dim strVak_datum as String
Dim strHuid_datum as String
Dim dtVak_Datum as Date
Dim dtHuid_Datum as Date

' code
' ....
' code
Je kunt nu de twee data van elkaar aftrekken zoals je gedaan hebt, of middels de DateDiff functie
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan