PDA

Vollständige Version anzeigen : Letzten Tag des vergangenen Monats zurückgeben


Tobias76
26.02.2008, 09:23
Hallo Profis,

folgendes Problem:
Ich bräuchte ein Makro welches den jeweils letzten Tag des vergangenen Monats zurückgibt.

Also: Wenn heute der 26.02.2008 ist muss das Ergebnis der 31.01.2008 sein. Oder wenn heute schon der 04.03.2008 wäre sollte das Ergebnis der 29.02.2008 sein. Noch ein Beispiel: Aktuelles Datum: 02.01.2008 - Ergebnisdatum: 31.12.2007

Ich habe versucht das Problem über eine Formel in der Zelle (=MONATSENDE) zu lösen - funktioniert auch - jedoch aktualisiert sich die Zelle bei Monatswechsel nicht automatisch beim Öffnen der Arbeitsmappe.

Also wenn jemand über diesen Weg eine Lösung weiss wäre ich auch dafür dankbar. Aber ein kleines, unkompliziertes Makro wäre sicher eleganter.

Vielen Dank im Voraus.

Gruß
Tobias

rastrans
26.02.2008, 09:56
Hallo Tobias!

Erst den ersten Tag des aktuellen Monats "berechnen" und davon einen Tag subtrahieren!

Function Monatsende(Datum As Date) As Date
Dim datDatum As Date

datDatum = CDate("01." & Format(Datum, "mm.yyyy"))
Monatsende = DateAdd("d", -1, datDatum)
End Function

Gruüße
rastrans

Tobias76
26.02.2008, 10:40
Hallo rastrans,

vielen Dank für deine schnelle Antwort. Das ist genau das was ich gesucht habe.

Du hast mir sehr geholfen...

Grüße
Tobias

chris-kaiser
26.02.2008, 10:47
hiho
einen hätte ich auch noch als alternative

Sub Monatsende()
Lastday = DateSerial(Year(Now), Month(Now), 0)
End Sub

Tobias76
26.02.2008, 11:47
Hey...

das ist ja noch kürzer, Super!!!
Danke!!!

Gruß
Tobias

jinx
26.02.2008, 18:18
<font size="2" face="Century Gothic">Moin, Tobias,

und das mit der Formel soll nicht klappen?
<b>Tabelle1</b><br /><br /><table border="1" cellspacing="0" cellpadding="0" style="font-family:Arial,Arial; font-size:10pt; background-color:#ffffff; padding-left:2pt; padding-right:2pt; "> <colgroup><col style="font-weight:bold; width:30px; " /><col style="width:80px;" /><col style="width:80px;" /></colgroup><tr style="background-color:#cacaca; text-align:center; font-weight:bold; font-size:8pt; "><td >&nbsp;</td><td >A</td><td >B</td></tr><tr style="height:17px ;" ><td style="font-size:8pt; background-color:#cacaca; text-align:center; " >6</td><td style="text-align:right; ">15.01.2008</td><td style="text-align:right; ">31.12.2007</td></tr></table><br /><table style="font-family:Arial; font-size:10pt; border-style: groove ;border-color:#00ff00;background-color:#fffcf9; color:#000000; "><tr><td ><b>Formeln der Tabelle</b></td></tr><tr><td ><table border = "1" cellspacing="0" cellpadding="2" style="font-family:Arial; font-size:9pt;"><tr style="background-color:#cacaca; font-size:10pt;"><td >Zelle</td><td >Formel</td></tr><tr><td >B6</td><td >=DATUM(JAHR<span style=' color:008000; '>(A6)</span>;MONAT<span style=' color:008000; '>(A6)</span>;0)</td></tr></table></td></tr></table> <br /><br /></font>