Sorteiren mit Range Befehlen
26.03.2019 15:32:06
P
Ich möchte eine Liste über die Spalten N und M sortieren und komme einfach nicht weiter. Das Sortieren habe ich aufgezeichnet. Nun habe ich versucht die Ranges abzuspeichern und im Sortiervorgang zu verwenden. Leider funktioniert es nicht.
Wäre es möglich diese Befehle nicht nur auf ein Tabellenblatt sondern auf eine Tabelle zu beziehen? Eine Tabelle sollte doch "wissen" wie gross sie ist?
Besten Dank für Eure Unterstützung vorab!
Sub Sortieren()
' Grösse Tabelle Anfang Spalte A bis Ende Spalte N
Dim A5Nx As String
' Grösse Tabelle Anfang Spalte M bis Ende Spalte M
Dim M5Mx As String
' Grösse Tabelle Anfang Spalte N bis Ende Spalte N
Dim N5Nx As String
Set A5Nx = Range("A5", Range("N" & Rows.Count).End(xlUp))
Set N5Nx = Range("N5", Range("N" & Rows.Count).End(xlUp))
Set M5Mx = Range("M5", Range("M" & Rows.Count).End(xlUp))
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Clear
A1Nx.Select
ActiveWorkbook.Worksheets(Tabelle1).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(Tabelle1).Sort.SortFields.Add(Range("N5Nx"), _
xlSortOnCellColor, xlDescending, , xlSortNormal).SortOnValue.Color = RGB(216, _
228, 188)
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add Key:=Range( _
"M5Mx"), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
"A bis Z", DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(Tabelle1).Sort
.SetRange Range("A5Nx")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveSheet.Range(N5).Select
End Sub