Variables sortieren

karl123

Erfahrenes Mitglied
Hallo,

Ich habe eine einfache Sortierfuktion, bei der ich den Schlüssel, wonach sortiert werden soll, über ein Listenfeld erzeuge. Hier die Funktion
Code:
Sub Sort_by_selected_month()
'
' Sort_by_selected_month Makro
'
' Sort list by selected month
'
    Rows("9:103").Select
    Selection.EntireRow.Hidden = False
    Range("A4:O103").Select
    ActiveWorkbook.Worksheets("PPM").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("PPM").Sort.SortFields.Add Key:=Worksheets("hidden").Range(C2), _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("PPM").Sort
        .SetRange Range("A3:O103")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Rows("9:103").Select
    Selection.EntireRow.Hidden = True
    Range("A1").Select
End Sub

Diese Zeile
ActiveWorkbook.Worksheets("PPM").Sort.SortFields.Add Key:=Worksheets("hidden").Range(C2), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ist falsch. In der Zelle C2 steht ein Range, z.B. C4:C103.

Würde die obige Zeile so lauten:
ActiveWorkbook.Worksheets("PPM").Sort.SortFields.Add Key:=Worksheets("hidden").Range("C4:C103"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
Dann wäre alles ok.

Wie kann ich erreichen, dass der Sortierschlüssel (C4:C103) als Wert in einer Zelle zum Sortieren genutzt werden kann?
 
Zurück