VBA zum Sortieren von Tabellen in Excel (4 Methoden)

  • Teile Das
Hugh West

Umsetzung von VBA-Makro ist die effektivste, schnellste und sicherste Methode, um jede Operation in Excel auszuführen. In diesem Artikel zeigen wir Ihnen, wie Sie die Tabelle sortieren in Excel mit VBA .

Arbeitsbuch herunterladen

Sie können die kostenlose Excel-Arbeitsmappe für die Praxis hier herunterladen.

Tabelle mit VBA sortieren.xlsm

Wissenswertes vor der Implementierung von VBA zum Sortieren von Tabellen in Excel

Es gibt einige Parameter, die Sie bei der Arbeit mit dem Programm häufig verwenden müssen Sortieren Methode der VBA Deshalb werden wir hier einige der Parameter besprechen, damit Sie sich beim Schreiben des Codes damit vertraut machen können.

Parameter Erforderlich/ Fakultativ Datenart Beschreibung
Schlüssel Optional Variante Gibt den Bereich oder die Spalte an, deren Werte sortiert werden sollen.
Bestellung Optional XlSortOrder Legt die Reihenfolge fest, in der die Sortierung durchgeführt werden soll.
  • xlAufsteigend = In aufsteigender Reihenfolge sortieren.
  • xlAbsteigend = In absteigender Reihenfolge sortieren.
Kopfzeile Optional XlYesNoGuess Gibt an, ob die erste Zeile Kopfzeilen enthält oder nicht.
  • xlNein = Wenn die Spalte keine Überschriften hat; Standardwert.
  • xlJa = Wenn die Spalten Überschriften haben.
  • xlRaten Sie = Damit Excel die Kopfzeilen bestimmen kann.

4 Methoden zur Implementierung von VBA zum Sortieren von Tabellen in Excel

In diesem Abschnitt erfahren Sie, wie Sie Excel-Tabellen sortieren in Anbetracht Wert, Farben, Ikonen und mehrere Spalten mit VBA Code.

1 VBA zum Sortieren einer Tabelle nach Wert in Excel einbetten

Anhand des folgenden Beispiels werden wir diese Tabelle nach den Werten sortieren die im Mark Spalte in absteigender Reihenfolge.

Schritte:

  • Presse Alt + F11 auf Ihrer Tastatur oder gehen Sie auf die Registerkarte Entwickler -> Visual Basic zu öffnen Visual Basic-Editor .

  • Klicken Sie im Pop-up-Code-Fenster in der Menüleiste auf Einfügen -> Modul .

  • Kopieren Sie den folgenden Code und fügen Sie ihn in das Codefenster ein.
 Sub SortTableValue() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("SortTBL") Set iColumn = Range("SortTBL[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add Key:=iColumn, SortOn:=xlSortOnValues, Order:=xlDescending .Header = xlYes .Apply End With End Sub 

Ihr Code ist nun einsatzbereit.

Hier,

  • SortTBL → Der Tabellenname wurde angegeben.
  • SortTBL[Markierungen] -> Gibt den Spaltennamen der zu sortierenden Tabelle an.
  • Schlüssel1:=iSpalte → Geben Sie den Spaltenbereich an, damit der Code weiß, welche Spalte in der Tabelle sortiert werden soll.
  • Reihenfolge1:=xlDescending → Die Bestellung wurde angegeben als xlAbsteigend um die Spalte in absteigender Reihenfolge zu sortieren. Wenn Sie die Spalte in aufsteigender Reihenfolge sortieren wollen, schreiben Sie xlAufsteigend stattdessen.
  • Kopfzeile:= xlYes → Da die Spalte in dieser Tabelle eine Überschrift hat, haben wir sie mit der Option xlJa Option.

  • Presse F5 auf Ihrer Tastatur oder wählen Sie in der Menüleiste Run -> Run Sub/UserForm Sie können auch einfach auf die Schaltfläche kleines Play-Symbol in der Untermenüleiste, um das Makro auszuführen.

Sie werden sehen, dass die Spalte in Ihrer Tabelle jetzt in absteigender Reihenfolge sortiert .

Lesen Sie mehr: Wie man Daten in Excel nach Wert sortiert (5 einfache Methoden)

2. ein VBA-Makro zum Sortieren einer Tabelle nach mehreren Spalten einfügen

Sie können auch eine Tabelle nach mehreren Spalten sortieren in Excel mit VBA Makro.

In der obigen Tabelle werden wir die Spalten sortieren Name und Abteilung in aufsteigender Reihenfolge.

Schritte:

  • Auf die gleiche Weise wie zuvor, öffnen Sie Visual Basic-Editor von der Entwickler Registerkarte und einfügen. a Modul im Code-Fenster.
  • Kopieren Sie im Codefenster den folgenden Code und fügen Sie ihn ein.
 Sub SortTable() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("TableValue") Set iColumn1 = Range("TableValue[Name]") Set iColumn2 = Range("TableValue[Abteilung]") With iTable.Sort .SortFields.Clear .SortFields.Add Key:=iColumn1, Order:=xlAscending .SortFields.Add Key:=iColumn2, Order:=xlAscending.Header = xlYes .Apply End With End Sub 

Ihr Code ist nun einsatzbereit.

Hier,

  • TableValue → Der Tabellenname wurde angegeben.
  • TableValue[Name] -> Gibt den ersten Spaltennamen der zu sortierenden Tabelle an.
  • TableValue[Abteilung] -> Gibt den zweiten Spaltennamen der zu sortierenden Tabelle an.
  • Schlüssel1:=iSpalte1 → Angabe des Spaltenbereichs, damit der Code weiß, dass die erste Spalte in der Tabelle sortiert werden muss.
  • Schlüssel1:=iSpalte2 → Angabe des Spaltenbereichs, damit der Code weiß, dass die zweite Spalte in der Tabelle sortiert werden muss.
  • Auftrag1:=xlAscending → Die Bestellung wurde angegeben als xlAufsteigend um die Spalte in absteigender Reihenfolge zu sortieren. Wenn Sie die Spalte in absteigender Reihenfolge sortieren wollen, schreiben Sie xlAbsteigend stattdessen.
  • Kopfzeile:= xlJa → Da die Spalten dieser Tabelle Überschriften haben, haben wir sie mit der Option xlJa Option.

  • ausführen. diesen Code und Sie erhalten die beiden Spalten der Tabelle sortiert in aufsteigender Reihenfolge.

Lesen Sie mehr: Automatische Sortierung mehrerer Spalten in Excel (3 Möglichkeiten)

Ähnliche Lektüre

  • Wie sortiert man eine eindeutige Liste in Excel (10 nützliche Methoden)
  • Array mit Excel VBA sortieren (aufsteigende und absteigende Reihenfolge)
  • Sortieren und Filtern von Daten in Excel (ein vollständiger Leitfaden)
  • Automatisches Sortieren in Excel bei Datenänderungen (9 Beispiele)
  • Zufällige Sortierung in Excel (Formeln + VBA)

3. implementieren Makro zum Sortieren der Tabelle nach Zellenfarbe in Excel

Sie können auch eine Tabelle nach der Zellenfarbe sortieren die sie enthält.

Anhand der obigen Tabelle zeigen wir Ihnen, wie Sie die Tabelle nach den Farben sortieren können, die sie enthält.

Schritte:

  • Wie bereits erwähnt, sind offene Visual Basic-Editor von der Entwickler Registerkarte und einfügen. a Modul im Code-Fenster.
  • Kopieren Sie im Codefenster den folgenden Code und fügen Sie ihn ein.
 Sub SortTableColor() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("SortTable") Set iColumn = Range("SortTable[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(248, 203, 173) .SortFields.Add(Key:=iColumn,Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(255, 217, 102) .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(198, 224, 180) .SortFields.Add(Key:=iColumn, Order:=xlAscending, SortOn:=xlSortOnCellColor).SortOnValue.Color = RGB(180, 198, 231) .Header = xlYes .Apply End With End Sub 

Ihr Code ist nun einsatzbereit.

Hier wird die RGB Codes, die wir zur Verfügung gestellt haben, können Sie ihn oder jeden anderen RGB Code, den Sie wünschen, indem Sie das unten angegebene gif befolgen.

  • Klicken Sie einfach auf die farbige Zelle .
  • In der Startseite klicken Sie auf die Registerkarte Pfeil neben der Füllfarbe wählen Sie dann Mehr Farben Sie werden sehen, dass die RGB Codes im Benutzerdefiniert Registerkarte des erschienenen Farben Pop-up-Box.

  • ausführen. diesen Code und Ihre Tabelle wird sortiert nach den Farben .

Lesen Sie mehr: Sortieren nach Farbe in Excel (4 Kriterien)

4 VBA anwenden, um Excel-Tabelle nach Symbolen zu sortieren

Angenommen, die Tabelle des Datensatzes ist zur besseren Lesbarkeit mit Symbolen versehen. Sie können die Tabelle auf Basis der Icons in Excel mit VBA Makro.

Schauen Sie sich den obigen Datensatz an. Hier hat die Tabelle Icons neben den Zahlenwerten in den Marks Spalten, damit wir verstehen können, welcher Schüler gute, schlechte oder durchschnittliche Ergebnisse hat.

Wenn Sie nicht wissen, wie Sie ein Symbol in eine Zelle einfügen können, können Sie dies einfach mit der Funktion Bedingte Formatierung Funktion in Excel.

  • Wählen Sie den gesamten Bereich oder die gesamte Spalte.
  • Gehe zu Bedingte Formatierung -> Icon-Sets Wählen Sie dann die gewünschten Symbolsätze aus.

Schritte zu eine Tabelle anhand von Symbolen sortieren sind unten aufgeführt.

Schritte:

  • Öffnen Sie Visual Basic-Editor von der Entwickler Registerkarte und einfügen. a Modul im Code-Fenster.
  • Kopieren Sie im Codefenster den folgenden Code und fügen Sie ihn ein.
 Sub SortTableIcon() Dim iSheet As Worksheet Dim iTable As ListObject Dim iColumn As Range Set iSheet = ActiveSheet Set iTable = iSheet.ListObjects("IconTable") Set iColumn = Range("IconTable[Marks]") With iTable.Sort .SortFields.Clear .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(1) .SortFields.Add(Key:=iColumn,Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(2)   .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(3)   .SortFields.Add(Key:=iColumn, Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(4)   .SortFields.Add(Key:=iColumn,Order:=xlDescending, SortOn:=xlSortOnIcon).SetIcon Icon:=ActiveWorkbook.IconSets(xl5Arrows).Item(5) .Header = xlYes .Apply End With End Sub 

Ihr Code ist nun einsatzbereit.

Hier,

  • xl5Pfeile -> Wir haben die Satz mit 5 Pfeilen von der Option im Fenster Bedingte Formatierung .
  • Gegenstand (1) -> Spezifiziert die erste Typ des Pfeilsymbols.
  • Artikel (2) -> Spezifiziert die zweite Typ des Pfeilsymbols.
  • Artikel (3) -> Spezifiziert die dritte Typ des Pfeilsymbols.
  • Artikel (4) -> Spezifiziert die vierte Typ des Pfeilsymbols.
  • Artikel (5) -> Spezifiziert die fünfte Typ des Pfeilsymbols.

  • ausführen. diesen Code und die Tabelle wird sortiert nach den Icons .

Lesen Sie mehr: Automatisches Sortieren von Tabellen in Excel (5 Methoden)

Schlussfolgerung

Dieser Artikel zeigt Ihnen, wie Sie die Tabelle sortieren in Excel VBA Ich hoffe, dass dieser Artikel für Sie von Nutzen war. Wenn Sie Fragen zum Thema haben, können Sie sich gerne an mich wenden.

Hugh West ist ein äußerst erfahrener Excel-Trainer und -Analyst mit über 10 Jahren Erfahrung in der Branche. Er verfügt über einen Bachelor-Abschluss in Rechnungswesen und Finanzen sowie einen Master-Abschluss in Betriebswirtschaft. Hugh hat eine Leidenschaft für das Unterrichten und hat einen einzigartigen Lehransatz entwickelt, der leicht zu befolgen und zu verstehen ist. Seine Expertenkenntnisse in Excel haben Tausenden von Studenten und Berufstätigen auf der ganzen Welt geholfen, ihre Fähigkeiten zu verbessern und in ihrer Karriere herausragende Leistungen zu erbringen. Über seinen Blog teilt Hugh sein Wissen mit der Welt und bietet kostenlose Excel-Tutorials und Online-Schulungen an, um Einzelpersonen und Unternehmen dabei zu helfen, ihr volles Potenzial auszuschöpfen.