Runde Geburtstage
03.01.2007 20:48:16
ABO
habe zum berechnen meiner runden Geburtstage folgendes Makro.
Jedoch will ich das er mir nur erst ab 60 Jahren das "X" macht für den runden Geburtstag.
kann mir jemand bei meinem Problem helfen
Im voraus vielen Dank
ABO
Makro Runde Geburtstage
'Runde Geburtstage berechnen!!!
Function GebDiesesJahr(wert, Optional Tag)
' Ist wert Lerr oder kein Datum , keine Umwandlung
If Not IsDate(wert) Or IsNull(wert) Then
GebDiesesJahr = Null
Else
If IsMissing(Tag) Then
'Rückgabe des Geburtsdages in diesem Jahr als Wochentag
GebDiesesJahr = CDate(Format(DateSerial(Year(Now()), Month(wert), Day(wert)), "dd/mm/yy"))
Else
'Rückgabe des Geburtsdages in diesem Jahr als Tag
GebDiesesJahr = CStr(Format(DateSerial(Year(Now()), Month(wert), Day(wert)), "dddd"))
End If
End If
End Function
Function GebRund(wert)
If Not IsDate(wert) Or IsNull(wert) Then
GebRund = Null
Else
tmp = GebAlter(wert)
If tmp >= 60 Then
tmp2 = tmp Mod 5
Else
tmp2 = tmp Mod 10
End If
If tmp > 80 Then
tmp2 = tmp Mod 1
End If
If tmp2 = 0 Then
GebRund = "X"
Else
GebRund = ""
End If
End If
End Function
Function GebAlter(wert)
If Not IsDate(wert) Or IsNull(wert) Then
GebAlter = Null
Else
Debug.Print Year(Now()), Year(wert)
GebAlter = Year(Now()) - Year(wert)
End If
End Function