Mit diesem Makro sortierst du in Excel nach Zellfarbe: Die Farbwerte farbiger Zellen werden in eine Hilfsspalte übernommen, danach wird sortiert und die Hilfsspalte wieder entfernt. So ordnest du farbmarkierte Einträge schnell, reproduzierbar und ohne manuelles Klicken – ideal für Listen mit Statusfarben, Prioritäten oder Kategorien.
Was bedeutet in Excel nach Zellfarbe sortieren?
Beim Sortieren nach Zellfarbe nutzt du die Hintergrundfarbe einer Zelle als Sortierkriterium. Das ist hilfreich, wenn Farben eine Bedeutung tragen, etwa Rot = dringend, Gelb = in Arbeit, Grün = erledigt. Das hier gezeigte VBA-Makro schreibt den Farbindex der farbigen Zellen in eine Hilfsspalte, sortiert danach und entfernt die Hilfsspalte im Anschluss wieder.
Voraussetzungen und Grenzen beim Sortieren nach Zellfarbe
Für das Makro gelten folgende Rahmenbedingungen:
- Es wird nach dem Farbindex (ColorIndex) der Innenfarbe sortiert. Unterschiedliche Designs/Farbpaletten können gleiche Farben mit unterschiedlichen Indizes hinterlegen.
- Zellen ohne Füllfarbe erhalten keinen aussagekräftigen Farbindex und werden entsprechend eingeordnet.
- Bedingte Formatierungen ändern die angezeigte Farbe, nicht zwingend den tatsächlichen Innenfarbwert. Das Makro liest den tatsächlichen Innenfarbwert aus.
- Das Beispiel bezieht sich auf die ersten 10 Zeilen und auf Spalte B als Quelle der Zellfarbe. Bei anderen Bereichen muss der betrachtete Bereich entsprechend angepasst werden.
- Sortiert wird aufsteigend nach Farbindex; die visuelle Farbreihenfolge kann davon abweichen.
Schritt-für-Schritt-Anleitung: Excel nach Zellfarbe sortieren (VBA)
- Datei sichern und eine Kopie für Tests anlegen.
- In Excel die Registerkarte Entwicklertools aktivieren und den VBA-Editor öffnen (Alt+F11).
- Ein Standardmodul einfügen (Einfügen > Modul).
- Den unten stehenden Code in das Modul einfügen.
- Sicherstellen, dass die farbigen Zellen in Spalte B stehen und die zugehörigen Einträge daneben liegen.
- Das Makro ausführen (F5) und die Sortierung prüfen.
- Bei Bedarf den betrachteten Datenbereich (Zeilenanzahl und Spalten) an die eigene Liste anpassen.
- Änderungen speichern.
Sub sortieren_nach_zellfarbe()
Dim x As Byte
'Hilfsspalte einfügen
Columns(1).Insert Shift:=xlToRight
'Farbwert in Hilfsspalte eintragen
For x = 1 To 10
Cells(x, 1) = Cells(x, 2).Interior.ColorIndex
Next x
'Sortieren
Range("A:B").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'Hilfsspalte wieder entfernen
Columns(1).Delete Shift:=xlToLeft
End Sub
So funktioniert das Makro im Detail
Das Makro fügt links eine Hilfsspalte in Spalte A ein. Für die Zeilen 1 bis 10 liest es den Farbindex der Zellen aus Spalte B aus und schreibt diesen als Zahl in Spalte A. Anschließend sortiert es den zweispaltigen Bereich A:B aufsteigend nach den Werten in A. Zum Schluss entfernt es die Hilfsspalte wieder, sodass nur die nach Zellfarbe sortierten Einträge übrig bleiben.
Praxisbeispiel: Statusliste effizient ordnen
Du pflegst eine Aufgabenliste, in der Spalte B den Status per Farbe kennzeichnet: Rot für kritisch, Gelb für offen, Grün für erledigt. Mit dem Makro werden zunächst alle Zeilen nach dem Farbindex sortiert. Dadurch stehen beispielsweise alle roten Einträge zusammen oben, gefolgt von gelben und grünen. So priorisierst du deine Liste auf einen Blick und kannst Blockarbeiten durchführen.
Typische Fehlerquellen und Lösungen
- Keine sichtbare Änderung: Prüfe, ob in Spalte B tatsächlich Innenfarben gesetzt sind (keine bedingten Formate ohne tatsächliche Füllung).
- Überschriebene Daten: Das Makro fügt eine Hilfsspalte bei A ein. Stelle sicher, dass links keine wichtigen Daten stehen oder arbeite auf einer Kopie.
- Falscher Bereich: Das Beispiel deckt nur die Zeilen 1–10 ab. Für größere Listen muss der betrachtete Bereich erweitert werden.
- Kopfzeilen: Das Makro sortiert mit Header:=xlNo. Hat deine Liste Überschriften, sollten diese außerhalb des Sortierbereichs liegen oder entsprechend berücksichtigt werden.
- Gemischte Paletten: Wenn Farben aus unterschiedlichen Designs stammen, kann die numerische Reihenfolge der Indizes nicht der gewünschten Farblogik entsprechen.
Tipps für flexible Datenbereiche
Passe den betrachteten Bereich an die Größe deiner Liste an, indem du die Schleife auf die tatsächlich verwendeten Zeilen ausrichtest und den Sortierbereich entsprechend erweiterst. Lege vor dem Start fest, in welcher Spalte die farbigen Zellen liegen, und nutze die unmittelbar links danebenliegende Hilfsspalte temporär. Für wiederkehrende Aufgaben empfiehlt sich eine saubere Tabellenstruktur: konsistente Farben, keine verbundenen Zellen, klare Kopfzeilen und ein zusammenhängender Datenblock.
Alternative ohne VBA: Manuell nach Farbe sortieren
Excel bietet auch ohne VBA eine Sortierung nach Farbe: Daten > Sortieren > Sortieren nach Zellfarbe. Diese Methode ist schnell für Ad-hoc-Aufgaben. Das VBA-Makro eignet sich hingegen, wenn du den Vorgang reproduzierbar und auf Knopfdruck durchführen möchtest oder wenn die Sortierung Teil eines automatisierten Workflows ist.
Fazit
Mit dem gezeigten VBA-Makro sortierst du in Excel nach Zellfarbe zuverlässig über eine Hilfsspalte. Das ist ideal für farbcodierte Listen und spart Zeit bei der Priorisierung. Achte auf konsistente Farben, einen korrekt gewählten Datenbereich und sichere deine Datei, bevor du die Sortierung ausführst.

