Kategorien
CodeArchiv Datum VBA

VBA Datum minus x Jahre

Beschreibung

Um von einem Datum eine bestimmte Anzahl von Jahren zu subtrahieren kann die nachfolgende Funktion genutzt werden.

Benötigt die Funktion MaxDayMonth

Parameter

Parameter NameParameter Wert
DDateDas Datum zu dem eine anzahl von X Jahren subtrahiert werden.
ValYearAnzahl der Jahre die zu dem Datum subtrahiert werden sollen.

Rückgabe

Rückgabe TypRückgabe Wert
DateDas Subtrahierte Datum

Beispiel

debug.Print YearSub("10.10.2017",5)
10.10.2012

Code

Public Function YearSub(DDate As Date, ValYear As Integer) As Date
	Dim M As Integer
	Dim Y As Integer
	Dim d As Integer
	Dim Dmax As Integer
	d = Day(DDate)
	M = Month(DDate)
	Y = Year(DDate)
	Y = Y - ValYear
	Dmax = MaxDayMonth(DateSerial(Y, M, 1))
	If d > Dmax Then d = Dmax
	YearSub = DateSerial(Y, M, d)
End Function

Download