Wie sortiere ich den bereich in vba?
Um einen Zellbereich mit VBA zu sortieren, müssen Sie die Methode „SORT“ verwenden, mit der Sie einen einzelnen Schlüssel (Spalte) oder mehrere Schlüssel (für mehrere Spalten) zum Sortieren festlegen können. Sie können auch die Sortierreihenfolge (aufsteigend oder absteigend) festlegen und angeben, ob Sie eine Kopfzeile haben oder nicht.
Sortieren Sie einen Bereich mit VBA
- Verwenden Sie das Bereichsobjekt, um den Bereich anzugeben, den Sie sortieren möchten.
- Geben Sie einen Punkt und die Sortiermethode ein.
- Geben Sie den Schlüssel an, den Sie zum Sortieren verwenden möchten.
- Legen Sie die Sortierreihenfolge fest.
- Erwähnen Sie, ob Sie eine Kopfzeile haben oder nicht.
Range("A1:A11").Sort Key1:=Range("A1"), _ Order1:=xlAscending, _ Header:=xlYes
Im obigen Code haben Sie den Bereich A1:A11 verwendet und in der Sortiermethode die aufsteigende Reihenfolge verwendet und erwähnt, dass Sie einen Header im Bereich haben.
Die Sortiermethode von VBA verstehen
Bevor Sie ein Makro zum Sortieren eines Bereichs schreiben, sollten Sie sich am besten mit der Sortiermethode befassen und ihre Argumente verstehen.
Sort (Key1, Order1, Key2, Type, Order2, Key3, Order3, _ Header, OrderCustom, MatchCase, Orientation, SortMethod, _ DataOption1, DataOption2, DataOption3)
Hier sind die wichtigsten Argumente, die Sie im wirklichen Leben verwenden werden.
- Schlüssel : Hier müssen Sie eine Zelle definieren, deren Spalte Sie als Sortierbasis verwenden möchten.
- Reihenfolge : Reihenfolge, in der Sie die Spalte sortieren möchten (aufsteigend/absteigend).
- Header : Eine Konstante, die angibt, ob Sie einen Header haben oder ob VBA dies erraten soll.
In absteigender Reihenfolge sortieren
Im folgenden Code habe ich „xlDescending“ verwendet, um die Betragsspalte in absteigender Reihenfolge zu sortieren.
Range("A1:A13").Sort Key1:=Range("A1"), _ Order1:=xlDescending, _ Orientation:=xlSortColumns
Verwenden mehrerer Spalten (Schlüssel) zum Sortieren
Sie können einen Bereich auch nach mehreren Spalten sortieren. Nehmen wir ein Beispiel aus der folgenden Tabelle, in der Sie mehrere Einträge mit Mitarbeiternamen und Städten haben und nach Name und Stadt sortieren müssen.
Hier ist der Code, den Sie verwenden müssen:
Range("A1:C13").Sort Key1:=Range("A1"), _ Order1:=xlAscending, _ Key2:=Range("B1"), _ Order1:=xlAscending, _ Header:=xlYes
Wie Sie im Code sehen können, haben Sie Schlüssel1 und Schlüssel2. In Schlüssel1 haben Sie die Spalte mit dem Mitarbeiternamen und in Schlüssel2 haben Sie die Spalte Stadt. Für beide Spalten ist die Sortierreihenfolge aufsteigend und die Überschriften sind vorhanden.
Hinweis: Sie können diese Spalte als Grundlage für die Sortierung nach Schlüsseln und Reihenfolge verwenden.
Änderung der Schicksalsorientierung
Wenn Sie Daten normalerweise in Excel sortieren, können Sie standardmäßig nach Spalten sortieren. Über die Sortieroptionen können Sie jedoch die Sortierausrichtung von links nach rechts statt von oben nach unten ändern.
Ebenso haben Sie in der Sortiermethode ein Argument zum Ändern der Ausrichtung ( Link ).
Range("A1:C13").Sort Key1:=Range("A1"), _ Order1:=xlAscending, _ Orientation:=xlSortRows