Kategorien
CodeArchiv Datum VBA

VBA Datum plus X Monate

Beschreibung

Um von einem Datum eine bestimmte Anzahl von Monaten zu addieren kann die nachfolgende Funktion genutzt werden.

Benötigt: MaxDayMonth

Parameter

Parameter NameParameter Wert
DDateDatum zu dem die X Monate addiert werden sollen
ValMonthZahl der Monate die addiert werden.

Rückgabe

Rückgabe TypRückgabe Wert
DateDas Ergebnis der Addition

Beispiel

debug.Print MonthAdd("10.10.2017",5)
10.03.2018

Code

Public Function MonthAdd(DDate As Date, ValMonth As Integer) As Date
	Dim M As Integer
	Dim Y As Integer
	Dim d As Integer
	Dim dd As Date
	d = Day(DDate)
	M = Month(DDate)
	Y = Year(DDate)
	M = M + ValMonth
	While M > 12
		Y = Y + 1
		M = M - 12
	Wend
	If d > MaxDayMonth(DateSerial(Y, M, 1)) Then
		d = MaxDayMonth(DateSerial(Y, M, 1))
	End If
	MonthAdd = DateSerial(Y, M, d)
End Function

Download