Excel-Daten automatisch sortieren: Formeln & Makros (Tutorial)

Melden

Dieses Tutorial zeigt dir, wie du Excel-Listen automatisch sortieren kannst, sobald neue Daten eingegeben oder bestehende Werte geändert werden. Wir behandeln die zwei gängigsten Methoden: die moderne SORTIEREN-Formel und das klassische VBA-Makro.


Ständig manuell auf „Sortieren“ zu klicken ist zeitaufwendig. Hier sind die Lösungen für eine Echtzeit-Sortierung.


Methode 1: Automatische Sortierung per Formel (Excel 365 & 2021+)

Dies ist die sicherste und einfachste Methode, da sie keine Makros benötigt. Sie erstellt eine dynamische Kopie deiner Liste, die sich bei jeder Änderung sofort aktualisiert.

Schritt-für-Schritt-Anleitung:

  1. Die Ausgangslage: Angenommen, deine Daten stehen in den Spalten A und B (z. B. Name und Umsatz).
  2. Die Formel nutzen: Klicke in eine leere Zelle (z. B. D2) und gib folgende Formel ein:
    =SORTIEREN(A2:B20; 2; -1)
    • A2:B20: Der Bereich, der sortiert werden soll.
    • 2: Die Spaltennummer, nach der sortiert wird (hier Spalte B für Umsatz).
    • -1: Sortierreihenfolge (-1 für absteigend, 1 für aufsteigend).
  3. Pro-Tipp (Dynamisch): Damit die Liste automatisch mitwächst, wenn du neue Zeilen hinzufügst, solltest du deine Quelldaten vorher als Tabelle formatieren (Markieren -> Strg + T). Die Formel lautet dann:
    =SORTIEREN(Tabelle1; 2; -1)

Vorteil: Funktioniert in Web-Versionen, keine Sicherheitswarnungen. Nachteil: Die Originaldaten bleiben unsortiert; es wird eine zweite, sortierte Liste erstellt.


Methode 2: Automatische Sortierung mit VBA-Makro (In-Place)

Wenn du möchtest, dass sich die Original-Liste direkt umsortiert, sobald du einen Wert änderst, benötigst du ein kleines Makro.

Schritt-für-Schritt-Anleitung:

  1. VBA-Editor öffnen: Drücke ALT + F11.
  2. Tabellenblatt auswählen: Doppelklicke im linken Projekt-Explorer auf das Tabellenblatt, in dem die Sortierung stattfinden soll (z. B. Tabelle1).
  3. Code einfügen: Kopiere den folgenden Code in das weiße Fenster:
Private Sub Worksheet_Change(ByVal Target As Range)
    ' Bereich festlegen, der überwacht wird (z.B. Spalte A bis B)
    On Error Resume Next
    If Not Intersect(Target, Range("A2:B100")) Is Nothing Then

        ' Sortierung ausführen
        With ActiveSheet.Sort
            .SortFields.Clear
            ' Key:=Range("B2") bestimmt die Spalte, nach der sortiert wird
            .SortFields.Add Key:=Range("B2"), Order:=xlDescending
            .SetRange Range("A1:B100")
            .Header = xlYes
            .Apply
        End With

    End If
    On Error GoTo 0
End Sub

So passt du den Code an:

  • Range("A2:B100"): Der Bereich, in dem du Daten eingibst.
  • Key:=Range("B2"): Die Zelle in der Spalte, nach der sortiert werden soll.
  • Order:=xlDescending: Nutze xlAscending für aufsteigend.
  • .SetRange Range("A1:B100"): Der gesamte Bereich inklusive Überschriften.
  1. Datei speichern: Speichere die Datei unbedingt als Excel-Arbeitsmappe mit Makros (.xlsm), sonst wird das Makro gelöscht.

Vorteil: Die Quelldaten werden direkt sortiert. Nachteil: Die „Rückgängig“-Funktion (Strg+Z) funktioniert nach einem Makro-Lauf oft nicht mehr.


Zusammenfassung: Welche Methode wählen?

Funktion Formel-Methode (SORTIEREN) Makro-Methode (VBA)
Schwierigkeit Einfach Mittel
Originaldaten Bleiben unverändert Werden direkt sortiert
Kompatibilität Nur Excel 365 / 2021+ Alle Excel-Versionen (Desktop)
Dateiformat .xlsx (Standard) .xlsm (Makro-aktiviert)

Empfehlung: Nutze für Dashboards und Auswertungen die Formel-Methode. Wenn du eine Datenbank pflegst, die du direkt sortiert haben möchtest, ist die Makro-Methode besser geeignet.

0