Frage zur Range bei Sortierung
14.02.2018 20:43:18
Guido
über den Makrorekorder habe ich mir einen Sortiercode mit 3 Kriterien bauen lassen.
Dabei werden vom Rekorder die tatsächlich verwendeten Zellen verwendet (z.B. "L3:L102"). Nn kenn ich nicht zwingend den zu sortierenden Bereich - zumal die Routine über unterschiedlich lange Listen in unterschiedlichen WorkSheets laufen soll.
Habe versucht die Bereichsangabe anzupassen, bekomme jedoch
Fehler 1004 -Methode 'Range für das Objekt '_Global' ist fehlgeschlagen.
Sub sortieren()
Dim rng1 As Range 'erste zu sorteierende spalte (Bereich)
Dim rng2 As Range 'zweite zu sorteierende spalte (Kosten)
Dim rng3 As Range 'dritte zu sorteierende spalte (Name)
Dim rng4 As Range 'zu sortierender Bereich mit Header
Set rng1 = Range(Cells(10000, 1).End(xlUp).Offset(0, 11), Cells(3, 12))
Set rng2 = Range(Cells(10000, 1).End(xlUp).Offset(0, 1), Cells(3, 2))
Set rng3 = Range(Cells(10000, 1).End(xlUp), Cells(3, 1))
Set rng4 = Range(Cells(10000, 1).End(xlUp), Cells(2, 18))
'sorteierung durchführen
With ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort
.SortFields.Clear 'bestehende sortierung löschen
.SortFields.Add Key:=Range(rng1), _
SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal '1. Sortierschlüssel vorgeben (Bereich) '
Habe 2 Wege versucht.1) Anstelle der Adressen die Range über Range(cells(), cells()) definiert
2) s.o.
In beiden Fällen bekomme ich Fehler 1004 ;-(
Hab ich was übersehen? Wo liegt mein Fehler?
Danke Euch schon einmal
LG
Guido