VBA: Daten horizontal sortieren

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.

Basiskundenliste
Kundenliste

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:

  1. Beginne den Code wieder mit der Clear-Methode, um sicher zu stellen, dass alle Sortierparameter für dieses Arbeitsblatt auf Standardwerte zurückgesetzt werden.
  2. 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.
  3. 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.

Spaltentausch in Kundenliste
Tausch zweier Spalten in Kundenliste

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:

  1. Beginne den Code auch hier mit der Clear-Methode
  2. 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.
  3. 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.

Spalten der Kundenliste alphabetisch sortiert
alphabetisch sortierte Spalten der Kundenliste

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.

Schreibe einen Kommentar

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

WordPress Cookie Plugin von Real Cookie Banner