Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ein monat zu datum addieren

1 view
Skip to first unread message

rudolf....@ts.oebb.at

unread,
Aug 3, 2005, 3:48:24 AM8/3/05
to
hallo forum

ich möchte in einer vba-prozedur zum datum der variablen
"aktmonat" ein monat hinzuzählen.
leider erhalte ich die fehlermeldung "laufzeitfehler5 ungültiger
prozeduraufruf oder argument".
auch in der hilfe konnte ich nichts finden.

auszug aus der prozedur:
Dim aktmonat As Date
..
aktmonat = #1/1/2005#
..
aktmonat = DateAdd(m, 1, aktmonat)

für eure hilfe wäre ich sehr dankbar !

mfg
rudolf

Alexander Wolff

unread,
Aug 3, 2005, 4:39:04 AM8/3/05
to
rudolf....@ts.oebb.at schrieb unlängst:

> ich möchte in einer vba-prozedur zum datum der variablen
> "aktmonat" ein monat hinzuzählen.
> leider erhalte ich die fehlermeldung "laufzeitfehler5 ungültiger
> prozeduraufruf oder argument".
> auch in der hilfe konnte ich nichts finden.
>
> auszug aus der prozedur:
> Dim aktmonat As Date
> ..
> aktmonat = #1/1/2005#
> ..
> aktmonat = DateAdd(m, 1, aktmonat)

Tage, Wochen und (fast immer) Jahre kann man leichter "hinzuzählen". Aber
was willst du haben, wenn Du zum 31. Januar einen Monat hinzuzählst?
28.2.,29.2.,1.3.,2.3.,3.3 sind da für mich denkbar. Gelten tut diese
Problematik auch für die 31. der Monate 3,5,8,10.

Daher eine Annahme (A1: Datum), wie Du es gern hättest:
Datum +1Monat
01.01.05 01.02.05
28.01.05 28.02.05
31.01.05 28.02.05
30.03.05 30.04.05
31.03.05 30.04.05

Wenn das so sein soll, gilt als - sicher noch kürzbare - Tabellenfunktion
für +1Monat:
=WENN(MONAT(A1+TAG(DATUM(JAHR(A1);MONAT(A1)+1;)))-MONAT(A1)<2;0;-TAG(A1+TAG(
DATUM(JAHR(A1);MONAT(A1)+1;))))+A1+TAG(DATUM(JAHR(A1);MONAT(A1)+1;))

Umsetzen in VBA mußt Du die - hoffentlich gekürzte - Formel dann selbst.
--
Hallo + Gruss Alexander (WinXP Home SP1 - Office 2000 SP3) 6----5----7-2


frankarendt-theilen

unread,
Aug 3, 2005, 4:46:20 AM8/3/05
to
Hallo Rudolf,
setze das m in Anführungstriche, also:
aktmonat = DateAdd("m", 1, aktmonat)

MfG Frank
_________________________________________________
Frank Arendt-Theilen, Microsoft MVP für Excel, Hameln
Microsoft Excel - Die ExpertenTipps http://tinyurl.com/cmned
Website: http://www.xl-faq.de
# Auftragsprogrammierung #

Alexander Wolff

unread,
Aug 3, 2005, 4:55:36 AM8/3/05
to

>
=WENN(MONAT(A1+TAG(DATUM(JAHR(A1);MONAT(A1)+1;)))-MONAT(A1)<2;0;-TAG(A1+TAG(
> DATUM(JAHR(A1);MONAT(A1)+1;))))+A1+TAG(DATUM(JAHR(A1);MONAT(A1)+1;))


Das vorläufige Datum +1Monat heiße
Zw: A1+TAG(DATUM(JAHR(A1);MONAT(A1)+1;))

Dann versteht man obige Formel evtl. so leichter (Zwischenschritt):
=WENN(MONAT(Zw)-MONAT(A1)<2;0;-TAG(Zw))+Zw

rudolf....@ts.oebb.at

unread,
Aug 3, 2005, 5:39:28 AM8/3/05
to
ja das war´s - herzlichen dank !!

rudolf....@ts.oebb.at

unread,
Aug 3, 2005, 5:39:52 AM8/3/05
to
0 new messages