2.9k Aufrufe
Gefragt in Tabellenkalkulation von jonesm Mitglied (191 Punkte)
Hallo,

in einer Datei mit mehreren Arbeitsblättern möchte ich per Makro nach Spalte A sortieren. Das Makro soll in dem jeweils aktiven Tabellenblatt ablaufen. Wie muss ich den folgenden Code (Zeile 1, 2 und 3) ändern, damit es funktioniert?


Sub sort_A()
Cells.Select
ActiveWorkbook.Worksheets("Tab1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tab1").Sort.SortFields.Add Key:=Range("A2:A101" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Tab1").Sort
.SetRange Range("A1:G101")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("C1").Select
End Sub

3 Antworten

0 Punkte
Beantwortet von jonesm Mitglied (191 Punkte)
Vielen Dank im Voraus!
;-)

Beste Grüße
Thomas
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Thomas,

versuch es mal so:

Sub sort_A()
With ActiveWorkbook.ActiveSheet
With .Sort
.SortFields.Clear
.SortFields.Add Key:=Range("A2:A101" _
), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange Range("A1:G101")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
.Range("C1").Select
End With

End Sub


Gruß

M.O.
0 Punkte
Beantwortet von jonesm Mitglied (191 Punkte)
Danke!
Funktioniert!

VG Thomas
...