Ersten Tag des Monats per VBA erzeugen
04.03.2004 13:27:40
Wolfgang
Für eine Auswertung muß ich einen beliebigen Datumswert auf den jeweils ersten Tag des betreffenden Monats setzen. Momentan mache ich das mit einer kleinen Routine, die so aussieht:
zeil = 2
Do
Schedend = Int(Cells(zeil, "I")) 'geplantes Endedatum
Aktend = Int(Cells(zeil, "J")) 'tatsächliches Endedatum
Do Until Month(Schedend - 1) <> Month(Schedend)
Schedend = Schedend - 1
Loop
Do Until Month(Aktend - 1) <> Month(Aktend)
Aktend = Aktend - 1
Loop
Cells(zeil, "T") = Schedend
Cells(zeil, "U") = Aktend
zeil = zeil + 1
Loop Until Cells(zeil, 1) = ""
Ausgangsdaten liegen in Spalten I und J. Entsprechende Zieldaten liegen in den Spalten T und U. Nun ist diese Routine arg langsam. Hat jemand eine Idee, wie man das eleganter in VBA lösen kann? Hatte es bereits mit dem Aufsplitten des Datums in Monat und Jahr versucht und alles wieder mit 'DateSerial' kombiniert. Aber die Lösung ist fast genauso lahm. Wenn aber jemand eine Erleuchtung hat und sich mit den ganzen Spezialfunktionen von EXCEL viel besser auskennt als ich, bin ich für jeden Lösungsvorschlag dankbar.
Vorab vielen Dank
Gruß, Wolfgang