VBA zur Altersberechnung aus einem Geburtsdatum
Schritt-für-Schritt-Anleitung
Um das Alter aus einem Geburtsdatum in Excel zu berechnen, kannst du ein VBA-Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
-
Excel öffnen: Starte Excel und öffne eine neue oder bestehende Tabelle.
-
VBA-Editor öffnen: Drücke ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
-
Modul einfügen: Klicke im Menü auf Einfügen
> Modul
.
-
Code einfügen: Füge folgenden Code in das Modul ein:
Global alter(1 To 15), rtage(1 To 15), lzeile
Sub alter_berechnen()
Application.ScreenUpdating = False
lzeile = Sheets(1).Range("B65536").End(xlUp).Row
For i = 3 To lzeile
anzmonate = DateDiff("m", Cells(i, 13), Date)
jahre = Split(anzmonate / 12, ",")
restmonate = anzmonate - (jahre(0) * 12)
resttagedatum = Day(Cells(i, 13)) & "." & Month(Cells(i, 13)) & "." & Year(Date)
resttage = DateDiff("d", Date, resttagedatum)
If Cells(i, 13) <> "" Then
If resttage > 0 And resttage <> 1 Then
Cells(i, 14) = jahre(0) & " Jahre"
End If
If restmonate = 1 Then
Cells(i, 14) = jahre(0) & " Jahre" & " " & restmonate & " Monat"
End If
If resttage = 1 Then
Cells(i, 15) = "noch " & resttage & " Tag"
ElseIf resttage > 1 Then
Cells(i, 15) = "noch " & resttage & " Tage"
ElseIf resttage = 0 Then
Cells(i, 15) = "heute"
End If
Else
Cells(i, 14).Value = ""
Cells(i, 15).Value = ""
End If
Next i
For i = 2 To 500
Columns(i).AutoFit
Next i
UserForm1.ClearAll
Application.ScreenUpdating = True
End Sub
-
Makro ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Führe das Makro aus, um das Alter aus dem Geburtsdatum in Spalte M zu berechnen und in den Spalten N und O anzuzeigen.
Häufige Fehler und Lösungen
- Fehler bei der Altersberechnung: Wenn das Alter nicht korrekt berechnet wird, überprüfe die Zeile, in der die Schleife beginnt. Stelle sicher, dass sie bei
For i = 3 To lzeile
beginnt, wenn deine Daten in der Zeile 3 beginnen.
- Leere Zellen: Wenn in Spalte M kein Geburtsdatum vorhanden ist, stelle sicher, dass die Zellen in den Spalten N und O geleert werden, wie im Code gezeigt.
- Resttage: Wenn die Resttage nicht korrekt angezeigt werden, überprüfe die Bedingungen in der If-Abfrage. Stelle sicher, dass die Bedingungen entsprechend angepasst sind.
Alternative Methoden
Neben der Nutzung von VBA kannst du auch Formeln verwenden, um das Alter in Excel zu berechnen. Eine gängige Formel sieht folgendermaßen aus:
=DATEDIF(A1, HEUTE(), "Y")
Diese Formel berechnet das Alter, indem sie das Geburtsdatum in Zelle A1 nutzt. Der Parameter "Y" gibt an, dass du die Anzahl der Jahre berechnen möchtest.
Praktische Beispiele
-
Geburtstagsliste erstellen: Verwende die Funktion DATEDIF
, um eine Excel-Geburtstagsliste zu erstellen. Trage die Geburtsdaten in eine Spalte ein und berechne das Alter in der nächsten Spalte.
-
Resttage bis zum Geburtstag: Um die verbleibenden Tage bis zum nächsten Geburtstag zu berechnen, kannst du diese Formel verwenden:
=DATEDIF(HEUTE(), DATUM(JAHR(HEUTE()), MONAT(A1), TAG(A1)), "D")
-
VBA zur Altersberechnung: Wenn du ein VBA-Makro verwendest, um das Alter zu berechnen, wie im obigen Abschnitt beschrieben, kannst du die Ergebnisse direkt in eine Tabelle exportieren.
Tipps für Profis
- Variablen verwenden: Achte darauf, nur benötigte Variablen zu verwenden und diese klar zu benennen, um den Code leichter verständlich zu machen.
- Fehlerbehandlung: Implementiere eine Fehlerbehandlung in deinem VBA-Code, um unerwartete Fehler abzufangen und eine benutzerfreundliche Fehlermeldung anzuzeigen.
- Dokumentation: Dokumentiere deinen Code, um anderen (oder dir selbst) zu helfen, den Code später leichter zu verstehen.
FAQ: Häufige Fragen
1. Wie kann ich das Alter aus mehreren Geburtsdaten gleichzeitig berechnen?
Durch die Verwendung einer Schleife im VBA-Code, die über alle relevanten Zellen iteriert, kannst du das Alter für mehrere Geburtsdaten in einer einzigen Aktion berechnen.
2. Was mache ich, wenn das Geburtsdatum in einem anderen Format vorliegt?
Stelle sicher, dass das Geburtsdatum im richtigen Datumsformat vorliegt. Du kannst die Funktion DATWERT
in Excel verwenden, um ein Datum aus Text zu konvertieren.
3. Ist VBA zur Altersberechnung in allen Excel-Versionen verfügbar?
Ja, VBA ist in allen modernen Excel-Versionen verfügbar, einschließlich Excel 2010 und 2016, wie in diesem Beispiel verwendet.