Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
836to840
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
836to840
836to840
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datum um monat erhöhen

Datum um monat erhöhen
11.01.2007 08:56:49
Andy
Hallo zusammen !
Ich kopiere per VBA das letzte Tabellenblatt und möchte das Aktuelle datum in Zelle A7 um einen monat erhöhen.
Leider klappt das mit dem Monat erhöhen nicht.

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum um monat erhöhen
11.01.2007 09:09:03
Erich
Hallo Anday,
so gehts:
Cells(7, 1) = DateSerial(Year(Cells(7, 1)), Month(Cells(7, 1)) + 1, Day(Cells(7, 1)))
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Datum um monat erhöhen
11.01.2007 09:49:45
Andy
Hat Super geklappt, vielen Dank !
AW: Datum um 1 Monat erhöhen
11.01.2007 15:55:56
rlenz
Hallo,
wird zum Datum 31.01.2007 ein Monat addiert, ist das Ergebnis 28.02.2007 und nicht etwa 03.03.2007. Zu einem Monat innerhalb eines Datums Monat(e) zu addieren oder zu subtrahieren geht nur in allen Fällen richtig bis zu 28. Tag des Ausgangsmonats. Monate haben nun mal eine unterschiedliche Anzahl von Tagen.
 
 ABC
6Datum+ 1 Monat mit Makro+ 1 Monat mit Funktion EDATUM
731.01.200703.03.200728.02.2007
Formeln der Tabelle
C7 : =EDATUM(A7;1)
 

Makro in B7
Cells(7, 2) = DateSerial(Year(Cells(7, 1)), Month(Cells(7, 1)) + 1, Day(Cells(7, 1)))
MfG
Rüdiger Lenz
Anzeige
AW: Datum um 1 Monat erhöhen
11.01.2007 17:27:29
Erich
Hallo Rüdiger,
da hast du recht - so einfach lässt sich die Addition um 1 Monat nicht sauber lösen.
Aber mit EDATUM würd ichs nicht machen (auch, weil man dazu die Analyse-Fkt. braucht).
EDATUM rechnet mitunter auch falsch:
 ABCDE
1QuelleMIN-FormelEDATUMVBA neuVBA alt
231.01.200728.02.200728.02.200728.02.200703.03.2007
328.02.200731.03.200728.03.200731.03.200728.03.2007

Formeln der Tabelle
ZelleFormel
B2=MIN(DATUM(JAHR(A2);MONAT(A2)+1+{0.1}+(TAG(A2+1)=1);{1.0}*TAG(A2)*(TAG(A2+1)>1)))
C2=EDATUM(A2;1)
D2=Monat_plus1(A2)
E2=altMonat_plus1(A2)

Die MIN-Formel ist von Franz (aus dem Salzkammergut):
https://www.herber.de/forum/archiv/768to772/t769578.htm
Hier der Code zu den beiden VBA-Fkt.:
Option Explicit
Function Monat_plus1(dat As Date)
Dim tmp1 As Long, tmp2 As Long
tmp1 = DateSerial(Year(dat), Month(dat) + 1 - (Day(dat + 1) = 1), Day(dat) * (Day(dat + 1) > 1))
tmp2 = DateSerial(Year(dat), Month(dat) + 2 - (Day(dat + 1) = 1), 0)
Monat_plus1 = IIf(tmp1 <= tmp2, tmp1, tmp2)
End Function
Function altMonat_plus1(dat As Date)
altMonat_plus1 = DateSerial(Year(dat), Month(dat) + 1, Day(dat))
End Function
Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Datum um 1 Monat erhöhen - Korrektur
11.01.2007 17:33:27
Erich
Hallo nochmal.
Sorry, da fehlte noch ein Minuszeichen:
Function Monat_plus1(dat As Date)
Dim tmp1 As Long, tmp2 As Long
tmp1 = DateSerial(Year(dat), Month(dat) + 1 - (Day(dat + 1) = 1), -Day(dat) * (Day(dat + 1) > 1))
tmp2 = DateSerial(Year(dat), Month(dat) + 2 - (Day(dat + 1) = 1), 0)
Monat_plus1 = IIf(tmp1 <= tmp2, tmp1, tmp2)
End Function
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Datum um 1 Monat erhöhen - Nachtrag
11.01.2007 18:05:36
Erich
Hallo - nochmal nochmal,
der Link auf excelformeln.de sollte hier nicht fehlen:
http://www.excelformeln.de/formeln.html?welcher=6
Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Datum um monat erhöhen
11.01.2007 09:16:03
Oberschlumpf
Hi Andy
Versuch mal so:
With Sheets(Sheets.Count-1)
ActiveSheet.Range("A7").Value = DateValue(Day(.Range("A7").Value) & "." & Month(.Range("A7").Value) + 1 & "." & Year(.Range("A7").Value))
End With
Vielleicht musst du noch irgendwo anpassen.
Konnte ich helfen?
Ciao
Thorsten
AW: Datum um monat erhöhen
11.01.2007 10:10:44
Andy
Auch Dir vielen Dank für die Hilfe,
Ich habe noch ein Problem das Ich nur Teilweise gelöst habe.
Ich möchte aus Zellinhalt den Blattnamen erstellen (ActiveSheet.Name = Range("I2").Value)
, der Zellinhalt besteht aus einem Datum, das Ich so formatiert habe, dass der Monat und das Jahr angezeigt wird (Feb.07) , bei Mir wird aber das normale Datum eingefügt.
Anzeige
AW: Datum um monat erhöhen
11.01.2007 10:44:44
Andy
Zweite Frage hat sich erledigt, Ich habe es selbst herausgefunden.
So gehts:
Blattname = Format(Range("A7"), "mmm.yy")
ActiveSheet.Name = Blattname

136 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige