ich hab da ein kleines Problem und hoffe hier eine Lösung zu finden. Ich habe mir ein kleines Auswerte-Tool gebaut, welches Excel-Dateien in einem Ordner nach bestimmten Informationen durchsucht und diese im Auswerte-Tool in einer Tabelle (ListObject) ausgibt. Ich möchte nun diese Tabelle nach einer Spalte, in der Termine eingetragen sind, chronologisch sortieren.
Da die Tabelle nun die Möglichkeit bietet auf Knopfdruck eben diese Sortierung durchzuführen (der kleine Pfeil in der Überschrift der Spalte - Nach Datum sortieren aufsteigend), habe ich mir gedacht, das ganz einfach über den Markorecoder aufzunehmen und in meine Prozedur einzubinden.
Hier die Aufzeichnung:
Sub Sortieren()
ActiveWorkbook.Worksheets("Auswertung").ListObjects("Datenliste").sort. _
SortFields.Clear
ActiveWorkbook.Worksheets("Auswertung").ListObjects("Datenliste").sort. _
SortFields.Add2 Key:=Range("Datenliste[[#All],[Soll Abschlusstermin]]"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Auswertung").ListObjects("Datenliste").sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Das Makro für sich funktioniert wunderbar, es sortiert die Tabelle chronologisch nach Datum in der Spalte. Binde ich jedoch dieses Makro in meine Prozedur mit ein, oder rufe diese über Call Sortieren auf, erscheint immer diese Fehlermeldung:
Die Methode 'Range' für die Methode '_Global' ist fehlgeschlagen.
Hat jemand ne Idee warum das so ist und wie ich dieses Makro umschreiben muss, damit es funktioniert?
Vielen Dank
Gruß
Stefan