Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1836to1840
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel VBA sortieren

Excel VBA sortieren
05.07.2021 16:23:56
Fritz_W
Hallo Forumsbesucher,
ich habe mit dem Makrorekorder nachfolgenden Code aufgezeichnet um einen Tabellenbereich des Tabellenblatts "Tabelle2" zu sortieren.
Ich möchte nun jedoch zum einen, dass das Makro das Sortieren auch aus einem anderen Tabellenblatt ermöglicht und zum anderen, das als zweites Sortierkriterieum nach Spalte B sortiert wird.
Für eure Hilfe vielen Dank im Voraus.
mfg
Fritz
Hier mein aufgezeichneter Code:

Sub Sortieren()
' Sortieren Makro
Range("A2:D51").Select
ActiveWorkbook.Worksheets("Tabelle2").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tabelle2").Sort.SortFields.Add2 Key:=Range( _
"A2:A51"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Tabelle2").Sort
.SetRange Range("A1:D51")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA sortieren
05.07.2021 16:47:11
Daniel
Hi
wie man mit zwei- oder mehr Sortierkriterien sortiert, sollte dir der Recorder zeigen, einfach mal zwei Sortierkriterien auswählen und aufzeichnen.
sollte das nicht funktionieren, kann man auch einfach nacheinander nach jedem Kriterium einzeln sortieren.
Man muss dabei mit dem niederwertigsten Sortierkriterium beginnen und mit dem höchstwertigen aufhören (also zuerst nach B und danach nach A)
Aufgezeichneter Code muss immer überarbeitet werden.
Beim Sortieren musst du an zwei Stellen noch das Tabellenblatt bzw Workbook und Tabellenblatt einfügen, da hier der Recorder nur die Range alleine aufzeichnet und sich dann immer auf das aktive Tabellenblatt bezieht. die zwei Stellen wären:
- Key:
- SetRange

Sub Sortieren()
' Sortieren Makro
Range("A2:D51").Select
ActiveWorkbook.Worksheets("Tabelle2").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tabelle2").Sort.SortFields.Add2 Key:=ActiveWorkbook.Worksheets("Tabelle2").Range( _
"A2:A51"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Tabelle2").Sort
.SetRange ActiveWorkbook.Worksheets("Tabelle2").Range("A1:D51")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
oder man schreibt sich die das ganze gleich vernünftig um, so dass man die WITH-Klammer auch sinnvoll nutzen kann:

With ActiveWorkbook.Worksheets("Tabelle2")
.Sort.SortFields.Clear
.Sort.SortFields.Add2 Key:=.Range("A2:A51"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SetRange .Range("A1:D51")
.Sort.Header = xlYes
.Sort.MatchCase = False
.Sort.Orientation = xlTopToBottom
.Sort.SortMethod = xlPinYin
.Sort.Apply
End With
Gruß Daniel
Anzeige
AW: Excel VBA sortieren
05.07.2021 17:17:01
Fritz_W
Hallo Daniel,
super!
vielen Dank für den Code und vor allem für die hilfreichen Erklärungen.
Dein Code funktioniert selbstverständlich, für mich zunächst mit der Einschränkung, dass Spalte B von Z nach A (anstatt von A nach Z) sortiert wird.
Aber das krieg ich jetzt hin.
mfg
Fritz
AW: Excel VBA sortieren
05.07.2021 16:48:18
Nepumuk
Hallo Fritz,
teste mal:

Sub Sortieren()
ActiveSheet.Sort
.SortFields.Clear
.SortFields.Add2 Key:=Range("A1"), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
.SortFields.Add2 Key:=Range("B1"), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
.SetRange Range("A:D")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Gruß
Nepumuk
Anzeige
AW: Excel VBA sortieren
05.07.2021 17:21:41
Fritz_W
Hallo Nepumuk,
auch Dir vielen Dank für Deine Unterstützung.
Beim Ausführen des Codes kommt die Fehlermeldung "Fehler beim Kompilieren: Unzulässiger oder nicht ausreichend definierter Verweis".
mfg
Fritz
AW: Excel VBA sortieren
05.07.2021 17:27:43
Nepumuk
Hallo Fitz,
Ooooooooooooooops, so:

With ActiveSheet.Sort
Gruß
Nepumuk
AW: Excel VBA sortieren
05.07.2021 17:30:36
Fritz_W
Hallo Nepomuk,
nochmals vielen Dank
mfg
Fritz
P.S. Vorige Nachricht versehentlich 2x verschickt, bitte um Entschuldigung.
AW: Excel VBA sortieren
05.07.2021 17:31:34
Fritz_W
Hallo Nepomuk,
nochmals vielen Dank
mfg
Fritz
P.S. Vorige Nachricht versehentlich 2x verschickt, bitte um Entschuldigung.
Anzeige
AW: Excel VBA sortieren
05.07.2021 17:27:50
Fritz_W
Hallo Nepumuk,
auch Dir vielen Dank für Deine Unterstützung.
Beim Ausführen des Codes kommt die Fehlermeldung "Fehler beim Kompilieren: Unzulässiger oder nicht ausreichend definierter Verweis".
mfg
Fritz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige