VBA-Sortierbereich - Wie sortiere ich den Bereich in Excel VBA?

Inhaltsverzeichnis

Excel VBA-Sortierbereich

Das Sortieren eines Bereichs in VBA erfolgt nach der range.sort-Methode. Dies ist eine Eigenschaft der range-Methode, mit der ein Benutzer einen Bereich in der richtigen Reihenfolge sortieren kann. Die Argumente für diese Funktion sind Key1, Order1, Key2, Type, Order2, Key3 , Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3, alle Argumente für diese Funktion sind optional.

Im Rahmen der Datenorganisation oder Datenstrukturierung ist es wichtig, die Daten zu sortieren und zu organisieren. Ähnliches gibt es auch für VBA. Eine häufig gestellte Frage zu neuen VBA-Lernenden ist daher, wie wir diese Sortieroption als Teil der VBA-Automatisierung verwenden können. Dieser Artikel führt Sie ausführlich durch den VBA-Sortierbereich.

Mit Excel kennen wir alle die Option der Sortierung, die auf der Registerkarte DATEN verfügbar ist.

Sortieroption in VBA

Um die Sortieroption zu verwenden, müssen wir zuerst entscheiden, was unser Datenbereich ist, und denselben Datenbereich mithilfe des RANGE-Objekts in VBA erwähnen. Dann können nur wir auf die Option „Sortieren“ in VBA zugreifen. Angenommen, mein Datenbereich reicht von A1 bis D10, dann können wir den Datenbereich wie folgt bereitstellen.

Code:

Sub Sort_Range_Example () Range ("A1: D10") End Sub

Setzen Sie nun einen Punkt und wählen Sie die Methode „SORTIEREN“.

Code:

Sub Sort_Range_Example () Range ("A1: D10"). Sort End Sub

Nachfolgend finden Sie die Syntax der SORT-Bereichsmethode. Obwohl die Syntax unterschiedliche Argumente hat, benötigen wir nicht alle für unsere VBA-Codierung, sodass wir nur wenige Elemente benötigen.

(Schlüssel1): In dem Datenbereich, den wir sortieren, müssen wir angeben, welche Spalte sortiert werden soll. Zum Beispiel in dem Datenbereich von A1: D10, wenn wir die Daten basierend auf Spalte B sortieren wollen, dann (Key1) wird Range ( „B1“) .

(Order1): Die erwähnte Spalte im Argument (Key1) sollte in welcher Reihenfolge sortiert sein. Wir können hier zwei Optionen auswählen: "xlAscending" oder "xlDescending".

Header: Der angegebene Datenbereich hat Header oder nicht. Wenn ja, können wir "xlYes" oder "xlNo" angeben.

Beispiel für einen Sortierbereich in VBA

Nehmen wir das Beispiel eines Excel-VBA-Sortierbereichs, um dies besser zu verstehen.

Schauen Sie sich zum Beispiel die folgende Datenstruktur an.

Wir haben Daten von A1 bis E17, also werden wir zuerst die Daten nach "Land" sortieren. Führen Sie die folgenden Schritte aus, um den Code zum Sortieren der Daten zu schreiben.

Schritt 1: Starten Sie die Excel-Makroprozedur.

Code:

Sub Sort_Range_Example () End Sub

Schritt 2: Erwähnen Sie zunächst den Datenbereich mithilfe des RANGE- Objekts.

Code:

Sub Sort_Range_Example () Range ("A1: E17") End Sub

Schritt 3: Wählen Sie nun die Sortiermethode des Range-Objekts.

Code:

Sub Sort_Range_Example () Range ("A1: E17"). Sort End Sub

Schritt 4: Da wir die Daten nach "Land" sortieren, lautet unsere Argumentspalte für Schlüssel 1 "Bereich" ("B1").

Code:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), End Sub

Schritt 5: Sobald die erforderliche Spalte erwähnt ist, müssen wir angeben, in welcher Reihenfolge wir die Daten sortieren müssen, und "Order1" ist die Reihenfolge "xlAscending" .

Code:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlAscending, End Sub

Schritt 6: Unsere Daten haben Header, daher lautet der Header "xlYes".

Code:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlAscending, Header: = xlYes End Sub

Wir haben alle Elemente erwähnt, die zum Sortieren der Daten erforderlich sind. Führen Sie den Code durch Drücken der Funktion und der Taste F5 aus und sehen Sie das Ergebnis.

Ausgabe:

Die Daten wurden nach Ländernamen in der Reihenfolge von A bis Z sortiert.

Nehmen wir nun an, wir müssen die Daten nach Ländern sortieren und den „ Bruttoumsatz “ vom höchsten zum niedrigsten sortieren . In solchen Fällen müssen wir auch die Argumente Key2 und Order2 verwenden.

Nachdem wir Key1 & Order1 erwähnt haben, wählen wir Key2.

Code:

Sub Sort_Range_Example () Range ("A1: E17"). Sort Key1: = Range ("B1"), Order1: = xlAscending, Key2: = End Sub

Da wir die Daten über die „basieren Sortierung Bruttoumsatz “ Spalte wird unser Key2 Spaltenname Range ( „D1“) sein.

Code:

Sub Sort_Range_Example() Range("A1:E17").Sort Key1:=Range("B1"), Order1:=xlAscending,Key2:=Range("D1"), End Sub

Once the Key2 is specified, we need to decide on the sorting patter of whether it is ascending order or descending order in Order2 argument. Since we are sorting the sales value from largest to smallest, we can choose “xlDescending” order.

Code:

Sub Sort_Range_Example() Range("A1:E17").Sort Key1:=Range("B1"), Order1:=xlAscending, Key2:=Range("D1"), Order2:=xlDescending, Header:=xlYes End Sub

After that, mention the Header argument as “xlYes.” Now run the code and see what happens.

Output:

Previously it has sorted based only on “Country-wise” but this time it has sorted based on “Country-wise” first and then also on “Gross Sales” from highest to lowest.

Auf diese Weise können wir die Daten mithilfe der Sortiermethode in VBA organisieren.

Dinge, die Sie über den Excel VBA-Sortierbereich beachten sollten

  • Die Sortierung ist eine in VBA verfügbare Methode. Um auf diese Methode zugreifen zu können, müssen Sie den Bereich der zu sortierenden Zellen angeben.
  • Wenn der Datenbereich Header enthält, müssen wir die Header-Option als "xlYes" auswählen. Wenn nicht, können wir "xlNo" auswählen.

Interessante Beiträge...