Outlook-Kalender nach Geburtstagen sortieren mittels VBA

Outlook VBA

Auf Mailhilfe.de haben wir zahlreiche Rückmeldungen darüber erhalten, wie Microsoft Outlook Geburtstage in verschiedenen Ansichten darstellt. Wir haben festgestellt, dass Outlook in bestimmten Szenarien nicht so arbeitet, wie es die meisten Benutzer erwarten würden. Zum Beispiel:

Ein Kontakt hat das Geburtsdatum 18.11.1935. Wenn Sie in der Monats-/Wochen-/Tag-Ansicht nachsehen, erscheint das Geburtstagsdatum korrekt für das Jahr 2024. Aber in der Listenansicht wird es an den Anfang der Liste gesetzt. Der Grund dafür ist, dass Outlook nach dem seriellen Wert des Datums sortiert, wenn es ein numerisches Datumsformat verwendet. Das Event wird überhaupt nicht angezeigt, wenn Sie nach Startdaten für 2024 filtern, da das Jahr 1935 ist.

 

Wollen Sie nur eine Liste mit Geburtstagen sehen?

Um nur Geburtstage in Ihrer Liste zu haben, sollten Sie nicht nach dem Startdatum filtern. Stattdessen sollten Sie nach jährlicher Wiederholung filtern. Sollten Sie viele jährliche Events in Ihrem Kalender haben, können Sie Ihren Geburtstags-Events eine Kategorie zuweisen und danach filtern.

So erstellen Sie diesen Filter:

  1. Wechseln Sie zu einer Listenansicht (auf dem Ansicht-Tab).
  2. Klicken Sie auf “Ansichtseinstellungen“, dann auf “Filter” und den Reiter “Erweitert“.
  3. Klicken Sie auf “Feld” und wählen Sie “Serie” bzw. “Terminserien” aus der Liste der häufig verwendeten Felder oder geben Sie “Serie” in das Feld darunter ein.
  4. Wählen Sie “entspricht” als Bedingung.
  5. Als Wert wählen Sie “Jährlich“.
  6. Klicken Sie auf “Zur Liste hinzufügen” und dann zweimal auf “Ok“, um den Dialog zu verlassen und den Filter anzuwenden.

Bitte beachten Sie, dass dieser Filter Ihnen nicht beim Sortieren helfen wird, da Sie nicht nach dem Wiederholungsmuster sortieren können, da dieses Feld alphabetisch sortiert wird.

Die Lösung:

Verwenden Sie ein Makro, um ein benutzerdefiniertes Zahlenfeld zu den Geburtstagsereignissen hinzuzufügen, und fügen Sie dann das benutzerdefinierte Feld zur Ansicht hinzu und sortieren Sie danach. Indem Sie ein Dezimalformat für den Monat und den Tag verwenden, werden die Ereignisse in chronologischer Reihenfolge für das laufende Jahr angezeigt.

Benutzerdefiniertes Zahlenfeld zur Sortierung nach Geburtstag verwenden:

  1. Klicken Sie auf “Ansichtseinstellungen” und dann auf “Spalten” (oder “Felder” in älteren Versionen von Outlook).
  2. Wählen Sie “Benutzerdefinierte Felder im Ordner” aus.
  3. Wählen Sie im Dropdown-Menü “Verfügbare Spalten” das neu erstellte Feld und klicken Sie auf “Hinzufügen ->”.
  4. Klicken Sie zweimal auf “Ok“, um den Dialog zu verlassen und zu Outlook zurückzukehren.

In Outlook kann man mittels VBA (Visual Basic for Applications) ein Makro erstellen, um Geburtstage im Kalender chronologisch zu sortieren. Der folgende VBA-Code hilft dabei:

Public Sub SortBirthdayMonthDay()
Dim currentExplorer As Explorer
Dim Selection As Selection
Dim obj As Object
Dim objProp As Outlook.UserProperty
Dim strMonth

Set currentExplorer = Application.ActiveExplorer
Set Selection = currentExplorer.Selection

On Error Resume Next

For Each obj In Selection
Set objAppt = obj

strMonth = Month(objAppt.Start) & "." & Day(objAppt.Start)

Set objProp = objAppt.UserProperties.Add("Birth Month.Day", olNumber, True)
objProp.value = strMonth
objAppt.Save

Err.Clear
Next

Set currentExplorer = Nothing
Set obj = Nothing
Set Selection = Nothing
End Sub

 

Mit diesem Makro wird ein benutzerdefiniertes Feld “Birth Month.Day” zu jedem ausgewählten Geburtstagsevent hinzugefügt. Nachdem das Makro ausgeführt wurde, kann die Ansicht entsprechend angepasst werden, um die Geburtstage chronologisch zu sortieren.

 

-

Vorheriger Artikel Nächster Artikel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

CAPTCHA eingeben * Das Zeitlimit ist erschöpft. Bitte CAPTCHA neu laden.