Excel-Daten automatisch sortieren: Formeln & Makros (Tutorial)
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:
- Die Ausgangslage: Angenommen, deine Daten stehen in den Spalten A und B (z. B. Name und Umsatz).
- 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).
- 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:
- VBA-Editor öffnen: Drücke
ALT + F11. - Tabellenblatt auswählen: Doppelklicke im linken Projekt-Explorer auf das Tabellenblatt, in dem die Sortierung stattfinden soll (z. B.
Tabelle1). - 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: NutzexlAscendingfür aufsteigend..SetRange Range("A1:B100"): Der gesamte Bereich inklusive Überschriften.
- 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.