Excel VBA Datumsprobleme

GSXArne

Lieutenant
Registriert
Okt. 2009
Beiträge
1.020
Hallo Leute,

ich bastel gerade ein Makro, dass mir Termin aus dem Outlook Kalender in eine Excel Tabelle auflistet.
Den Zeitraum den das Makro exportiert wollte ich gerne per Makro-Kalender vorgeben.
Dazu habe ich "ein Kalender-Makro" gefunden, dass mir das Datum in eine globale Variable schreibt:

Code:
g_datCalendarDate = DateSerial(dJahr, dMonat, dTag)

Der Kalender-Export-Teil Fragt dann die Daten als "Date" ab#:

Code:
Private Sub GetCalData(StartDate As Date, Optional EndDate As Date)

Ich rufe, die Funktion wie folgt auf:

Code:
Call GetCalData(Start, "17/09/2015")
Wobei start die Globale Variable g_datCalenderdate ist.

Mache ich das auf diesem Wege erhalte ich die Fehlermeldung "Argumenttyp Byref unverträglich". Gebe ich das Datum einfach in der Form "17/09/2015" vor funktioniert es problemlos.


Weiß jemand wo das Problem liegt?
 
Einfach mal geraten

g_datCalendarDate ergibt "30.11.1999" und nicht "30/11/1999"
wenn nun die Function nicht mit Punkten zurecht kommt, es klar wo der Fehler liegt.

g_datCalendarDate = Replace(DateSerial(dJahr, dMonat, dTag), ".", "/")
 
Ne das hatte ich auch schon probiert und half auch nicht.
Ich habe nun die abfrage der globalen Variable direkt in die Funktion Getcaldata gepackt. Und nun läufts.

Symptom bekämpft , Ursache Unklar ;-)
 
Standardmässig nimmt VBA Parameter mit ByVal wenn nichts angegeben ist somit kannst Du keine Variablenreferenz übergeben,
könntest einfach ByRef StartDate As Date z.B. schreiben


https://msdn.microsoft.com/de-de/library/h2b185t2.aspx

Die Fehlermeldung kann auch kommen wenn das Makro den Datentyp nicht mag, auch wenn es dann eigentlich die falsche Meldung ist, hab ich alles schon erlebt ;)
 
Zurück
Oben