Daten in einem Arbeitsblatt sortieren ist eine Funktion, die du immer mal wieder ausführen wirst.
Der letzte Beitrag hat dir gezeigt, wie Daten mit einem Makro vertikal sortiert werden können.
Mit diesem Beitrag wird das Thema fortgesetzt. Es wird das horizontale Sortieren erläutert.
1. Beschreibung des horizontalen Sortierens
Horizontales Sortieren bedeutet, die Daten innerhalb einer Zeile spaltenweise auf- oder absteigend zu sortieren.
Beim horizontalen Sortieren ist folgendes zu beachten:
Liegen mehrere zusammenhängende Zeilen vor und es sollen alle Spalten innerhalb des Blocks sortiert werden, dann markiere nur eine Zelle in der Zeile, nach der auf- oder absteigend sortiert werden soll. Dann wähle die Sortierfunktion.
Ein Beispiel dazu:
Es wird hier die bekannte Liste mit fünf Kunden aus dem letzten Beitrag verwendet.
Die Spalten sind auch hier Kunde, Kunden-Nr., Anfangsdatum, Umsatz und Ort.

2. Zwei Spalten tauschen
Die Absicht ist, die dritte Spalte, Anfangsdatum, an die zweite Stelle zu rücken. Die jetzige zweite Spalte, Kunden-Nr. soll dann an dritter Stelle stehen.
Du willst es innerhalb einer Prozedur mit VBA ausführen. Dies sind die Schritte in der Prozedur:
- Beginne den Code wieder mit der Clear-Methode, um sicher zu stellen, dass alle Sortierparameter für dieses Arbeitsblatt auf Standardwerte zurückgesetzt werden.
- Definiere den Bereich, der sortiert werden soll, gib die Anweisung „Sort“ und benenne den ersten Sortierschlüssel mit „Key1“. Der Bereich erfasst hier nur die Spalten B:C.
- Gib die Order „xl Ascending“ (aufsteigend) und die Orientation „xlColumns“ (nach Spalten) vor.
Gib nun diese Codezeilen in dein Modul im VBA-Editor ein:
Sub SortHoriz_1()
Worksheets(„Tabelle1“).Sort.SortFields.Clear
Range(„B1:C6“).Sort Key1:=Range(„B1“), Order1:=xlAscending, Orientation:=xlColumns
End Sub
Lass nun das Makro ausführen, als Ergebnis erhältst du diese veränderte Tabelle.

3. Spalten alphabetisch sortieren
Du hast jetzt den Wunsch, die Spalten der anfänglichen Kundenliste alphabetisch zu sortieren.
Dies sind die Schritte, die deine Prozedur durchlaufen muss:
- Beginne den Code auch hier mit der Clear-Methode
- Definiere den Bereich, der sortiert werden soll, gib die Anweisung „Sort“, benenne den ersten Sortierschlüssel mit „Key1“. Der Bereich umfasst nun die gesamte Tabelle von A1:E6.
- Gib die Order „xl Ascending“ (aufsteigend) und die Orientation „xlColumns“ (nach Spalten) vor.
Gib nun diese Codezeilen in dein Modul im VBA-Editor ein:
Sub SortHorizon2()
Worksheets(„Tabelle2“).Sort.SortFields.Clear
Range(„A1:E6“).Sort Key1:=Range(„A1“), Order1:=xlAscending, Orientation:=xlColumns
End Sub
Lass nun das Makro ausführen, als Ergebnis erhältst du diese veränderte Tabelle.

Dies waren zwei Beispiele zur horizontalen Sortierung mit einem Makro.
Sinnvoll scheint dies nur zu sein, wenn diese Codezeilen in eine umfangreichere Prozedur integriert sind.
Ansonsten ist es wohl ausreichend, auf die Sortierfunktionen in Excel zurückzugreifen.
Entdecke mehr von Clevercalcul
Melde dich für ein Abonnement an, um die neuesten Beiträge per E-Mail zu erhalten.