Wie errechnen Sie in #VBA den #Monatsersten zu einem #Datum? Das geht ganz schnell:
Monatserster = DateAdd("d", -Day(Datum) + 1, Datum)
Und funktioniert so: die Funktion Day(Datum) gibt Ihnen den Tag als Zahl – heute, am 22.02.2016 also die Zahl 22. Die ziehen Sie jetzt vom Eingangsdatum ab, und dann nehmen Sie 1 dazu, um auf den Monatsersten zu kommen. Vom 22.02.2016 müssen Sie ja nur 21 Tage in die Vergangenheit gehen, um am 01.02.2016 zu landen. Das Datumsrechnen übernimmt für Sie die Funktion DateAdd(Intervall, Anzahl, Datum), die vom gegebenen Datum eine bestimmte Anzahl von ausgesuchten Intervallen in die Zukunft (bei positiver Anzahl) oder in die Vergangenheit (bei negativer Anzahl) schreitet. Mit „d“ definieren Sie das Intervall Tag. Ja, auch in der deutschen Version – im Gegensatz zu den Excel-Funktionen ist und bleibt in VBA alles englisch.
Angekommen?
Ja, angekommen.
Super erklärt, auch der Hinweis auf englisch ist bestimmt für manchen hilfreich…
… aber dann sollte im Beispiel auch „Date“ statt „Datum“ stehen, damit es funktioniert.
Oder war das ein Test … 😉
LikeLike
Datum steht für irgendein Datum, nicht für die „HEUTE“-Datumsfunktion 🙂
Wenn das für das Tagesdatum ausgerechnet werden soll, dann muss natürlich Date hinein – aber darum geht es hier ja nicht im Speziellen 🙂
LikeLike