Startseite

Alter berechnen (bezogen auf Kalenderjahr)

Eine häufige Anforderung in Exceltabellen ist die Berechnung des Alters, oder die Berechnung der Dauer einer Mitgliedschaft.
Hierzu habe ich ein kleines Makro geschrieben. Näheres zu der hier verwendeten Funktion DateDiff.
Sub jahre()
Dim r%
' Berechnet das Alter oder die Dauer einer Mitgliedschaft in vollen Jahren
' Klaus-Dieter Oppermann
For r = 2 To Range("A65536").End(xlUp).Row
    Cells(r, 2) = DateDiff("yyyy", Format(Cells(r, 1), "DD.MM.YYYY"), Now)
Next r
End Sub
Geburtsdatum Alter
01.01.1983 20
01.01.1990 13
01.01.2000 3
02.07.1905 98
02.12.1991 12
03.06.1994 9
03.11.1992 11
04.04.1989 14
04.09.1987 16

Alter berechnen (bezogen auf Stichtag)

Für den Fall, dass die Berechnung auf der Basis des Kalenderjahres zu ungenau ist, hier ein Lösungsansatz, der diese Berechnung, bezogen auf den aktuellen Tag als Stichtag, genau ausführt.
Sub jahre_genau()
Dim z%, r%, sj%
' Berechnet einen Zeitraum, zum Beispiel das Alter
' bezogen auf den aktuellen Tag als Stichtag
' Klaus-Dieter Oppermann
On Error Resume Next                                        ' Fehler durch leere Zellen überspringen
z = Range("A65536").End(xlUp).Row                           ' Letzte Zeile ermitteln
For r = 2 To z                                              ' Schleifenstart für Berechnung
    sj = 0                                                  ' Variable für Schaltage auf Null
' Anzahl der Schalttage ermitteln
        For s = Format(Cells(r, 1), "yyyy") To _
        Format(Now(), "yyyy")                               ' Schleifenstart
            If s Mod 4 = 0 Then                             ' wenn Jahreszahl durch vier teilbar ...
                sj = sj + 1                                 ' ... dann Variable hochzählen
            End If                                          ' Ende der Bedingung
        Next s                                              ' Ende der Schleife (s)
' Anzahl der Jahre berechnen und ausgeben
    Cells(r, 2) = Int((DateDiff("d", Format(Cells(r, 1), _
    "DD.MM.YYYY"), Now) - sj) / 365)                        ' Anzahl der Tage minus Schalttage durch 365
Next r                                                      ' Ende der Schleife (r)
End Sub

Code eingefügt mit: Excel Code Jeanie
Geburtsdatum Alter
01.01.1983 20
01.01.1990 13
01.01.2000 3
02.07.1905 97
02.12.1991 11
03.06.1994 8
03.11.1992 10
04.04.1989 13
04.09.1987 15
25.02.1981 22
26.02.1981 22
27.02.1981 21
   
  = Stichtag