Gruppe
UDF
Problem
Wie kann eine Datumsdifferenz mit Angabe von Jahren, Monaten und Tagen aufgerufen werden?
StandardModule: basMain
Function DatDiff(datStart As Date, datEnd As Date) As String
Dim intYear As Integer, intMonth As Integer
Dim intDay As Integer, intYD As Integer
Dim intMD As Integer, intTD As Integer
intYear = Year(datStart)
intMonth = Month(datStart)
intYD = Year(datEnd) - intYear
intMD = Month(datEnd) - intMonth
intTD = Day(datEnd) - Day(datStart)
If intTD < 0 Then
intMD = intMD - 1
intTD = intTD + Day(DateSerial(intYear, intMonth + 1, 0))
End If
If intMD < 0 Then
intYD = intYD - 1
intMD = intMD + 12
End If
DatDiff = intYD & " Jahr(e), " & intMD _
& " Monat(e), " & intTD & " Tag(e)"
End Function