Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1608to1612
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Frage zur Range bei Sortierung

Frage zur Range bei Sortierung
14.02.2018 20:43:18
Guido
Hallo noch einmal in die Communinty,
ü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

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Frage zur Range bei Sortierung
14.02.2018 20:48:03
Guido
Hallo nochmal,
Nachtrag:
habe noch rng4.select nach der Rangdefinition nachgetragen (lt Rekorder), aber der Fehler bleibt:-(
LG
Guido
AW: Frage zur Range bei Sortierung
14.02.2018 22:48:43
Daniel
Hi
rng1 ist per definition schon ein Range-Objekt, also reicht:
.SortFields.Add Key:=rng1, _
ebenfalls korrekt, aber unsinnig wäre (das beispiel soll dir nur Zeigen, wie die Range-Funktion funktioniert)
.SortFields.Add Key:=Range(rng1.Address), _
für die anderen Keys dann genauso.
btw, es ist nicht notwendig, beim Key die ganze Spalte anzugeben.
Eine einzige Zelle der Sortierspalte reicht aus, dh das reicht:
Set rng1 = Cells(3, 12)
die größee des Sortierten Bereichs legst du hier fest:
.SetRange Range("A2:R102")
Gruß Daniel
Anzeige
AW: Frage zur Range bei Sortierung
15.02.2018 09:12:28
Guido
Hallo Daniel,
Danke für Deine Hilfe. Ich bin Deinem ersten Vorschlag gefolgt und jetzt klappt's :-)
LG und einen schönen Tag
Guido

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige