Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sortieren

Forumthread: Sortieren

Sortieren
Werner
Hallo zusammen,
ich habe ien Problem beim Sortieren mehrerer Etiketten.
hier ist erst mal ein Teil des Codes:
Etikette.Range("A1:AI" & t).Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range("L2") _
, Order2:=xlDescending, Key3:=Range("M2"), Order3:=xlAscending, Header _
:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _
, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
xlSortNormal
t ist dabei die letzte Zeile. Wert ist auf jeden Fall größer 0 und definiert.
Etikette ist das Arbeitsblatt, auf dem sich die Etiketten befinden.
Jedesmal beim durchlaufen bringt er die Fehlermeldung, dass mein Sortierbezug ungültig ist. Egal, wie ich die Daten markiere, immer beim Sortiern springt er aus dem Code.
Kann mir jemand helfen?
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Sortieren
27.05.2011 12:15:43
oberschlumpf
Hi Werner
was bedeutet "Etikette.Range", gleich zu Beginn des Codes
Normal beginnt der Sort-Befehl mit einer Referenz auf Tabelle und Bereich, z Bsp Sheets(1).Range(usw)
Dann verstehe ich Key1:=Range("C2") nicht.
Hinter dem =-Zeichen muss die gleiche Referenz stehen, z Bsp Sheets(1).Range(usw), oder für dein Bsp Etikette.Range("C2")
Aber vllt liege ich mit allem auch ganz falsch.
Warum zeigst du uns eigtl nicht mal ne Datei mit Code, in der eben genau der Fehler auftritt?
Ciao
Thorsten
Anzeige
AW: Sortieren
27.05.2011 12:51:42
Werner
Hi Thorsten,
du hattest recht. Der Sort Befehl hat nicht funktioniert, weil beim KeyX die Sheets(x) nicht angegeben war. Jetzt funktioniert es.
Eine Sheet heißt Etikette (Hab den Tabellennamen also "Tabelle1(Namen)" in "Etikette(Etikette)" umbenannt.
Danke
noch ein Tipp: With
27.05.2011 13:00:22
Erich
Hi Werner,
wenn du eine With-Klammer um den Sort legst, brauchst du nur einen Punkt vor jedes Range zu setzen.
Das macht das Ganze auch änderungs- und wartungsfreundlicher:
With Etikette
.Range("A1:AI" & t).Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range("L2") _
, Order2:=xlDescending, Key3:=Range("M2"), Order3:=xlAscending, Header _
:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _
, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
xlSortNormal
end with
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige