Ich hab ein Problem und zwar:
Ich habe ein Datum 01.09.2009 (Format dd.mm.yyyy) in Zeile A1.
Jetzt möchte ich es verändern, in dem ich es um 5 Monate verschiebe, d.h. es soll 01.02.2010 rauskommen.
In Excel geht es relativ einfach: =DATUM(JAHR(A1);MONAT(A1)+5;TAG(A1))
Wie kann ich das in VBA umsetzen?
Ich habe folgendes in VBA versucht:
Sub Datum()
Dim tempTag
Dim tempMonat
Dim tempJahr
Dim tempDatum
tempTag = Day(Range("A1"))
tempMonat = Month(Range("A1"))
tempJahr = Year(Range("A1"))
tempDatum = CDate("" & tempTag & "/" & tempMonat+5 & "/" & tempYear &"")
Range("B2").Value=tempDatum
Range("B2").NumberFormat = "dd.mm.yyyy"
End Sub
Es funktioniert, aber nur wenn die Verschiebung nicht über Dezember rauskommt!
In dem Fall mit 5 Monaten kommt 14.01.2009 raus (man sieht, dass Tage mit Monaten ausgetauscht wurden).
Kann mit jemand vielleicht weiter helfen? Gibts es andere Funktion in VBA zu Erfassung des Datums bzw. wie kann ich die Reihenfolge "dd.mm.yyyy" in VBA eingeben, damit es funktioniert?
Vielen Dank im Voraus!
Gruß
shaka