Public Sub GBAlterBerechnen()
Dim kalender As Outlook.Folder
Dim termin As Outlook.AppointmentItem
Set kalender = Application.Session.GetDefaultFolder(olFolderCalendar)
' Alle Termine durchlaufen die in der Kategorie "Geburtstag" stehen haben (contains) und Serientermine sind
For Each termin In kalender.Items
If Not InStr(termin.Categories, "Geburtstag") = 0 And Not InStr(termin.Subject, "GB") = 0 And termin.IsRecurring Then
If Year(termin.GetRecurrencePattern.PatternEndDate) <= Year(Now) Then
termin.Location = "[Berechnet] Wurde (" & CStr(Year(termin.GetRecurrencePattern.PatternEndDate)) & ") " & _
CStr(Year(termin.GetRecurrencePattern.PatternEndDate) - Year(termin.GetRecurrencePattern.PatternStartDate)) & " Jahre alt"
Else
termin.Location = "[Berechnet] Wird dieses Jahr (" & CStr(Year(Now)) & ") " & _
CStr(Year(Now) - Year(termin.GetRecurrencePattern.PatternStartDate)) & " Jahre alt"
End If
termin.Body = "Via Makro berechnet am: " & CStr(Now)
termin.Save
End If
Next
End Sub