Sortier-Makro unter Verwendung der Spaltennamen
11.01.2020 13:39:39
Ingo
Ich habe mit dem Makrorekorder ein Makro aufgezeichnet.
Meine Tabelle sonn nach Spalte AB sortiert werden.
Das Makro schaut so aus:
Sub XXX()
' Nach Spalte "Mark" sortieren
ActiveWorkbook.Worksheets("XXX").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("XXX").Sort.SortFields.Add2 Key:=Range( _
"AB2:AB1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("XXX").Sort
.SetRange Range("A1:AN1000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Bei diesen Range-Angaben werden ja nun die Bezeichnungen der Spalten verwendet. Wenn ich später mal in meiner Tabelle Spalten hinzufüge bzw. entferne, muss ich ja immer das Marko neu anpassen. Darum würde ich nun gerne dort die Spaltennamen (hier "Mark") verwenden.
Bisher:
Key:=Range( "AB2:AB1000")
Neue Versuche ( von mir einfach mal ausprobiert, geht so aber nicht):
Range( "Mark2:Mark1000")
Range( "'Mark'2:'Mark'1000")
Ist das mit den Spaltennamen so überhaupt machbar? Und wenn ja, könnt Ihr mir vielleicht sagen, wie? Das würde mich wieder sehr freuen, weil ich auch mittels Google-Suche nicht herausbekommen konnte.
Gruß
Ingo