Servus
ich initialisiere meine Variablen gern und speichere aus Kompatibilitätsgründen Datumswerte gern im Long-Format.
Datumsvariablen intialisiere ich gern mit dem 01.01.1900
Lässt man sich den 01.01.1900 in Excel als Standardzahl anzeigen, liefert das den Wert 1.
Initialisiere ich nun in VBA eine Long-Zahl mit 1 und wandle diese mit cdate() in ein Datum um, liefert mir das den Datumswert "31.12.1899"
Leicht zu testen mit
sub test()
msgbox cdate(1)
end sub
(sorry... weiß grad nicht, wie ich code einfüge)
Und jetzt wunder ich mich, was ist richtig, wenn ich im Sheet angezeigte Datumswerte und als Long in VBA abgespeicherte Werte als 01.01.1900 interpretieren will.
Es wäre ein Leichtes, für die long-zahl einfach 2 statt 1 zu speichern, aber da passt doch dann was nicht....
Hat da jemand eine einfache Erklärung und in sich konsistenten Workaround?
( clng(dateserial(1900,1,1)) liefert übrigens 2 , abweichend zur Anzeige im Excel-Worksheet )
Thomas