Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1308to1312
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

Bereich sortieren mit mehreren Kriterien + MsgBox

Bereich sortieren mit mehreren Kriterien + MsgBox
04.05.2013 09:48:09
Constantin
Hallo,
ich möchte einen Datenbereich im aktiven Tabellenblatt (A10:CV letzte genutzte Zeile)nach mehreren Kriterien aufsteigend sortieren. Der Datenbereich enthält keine Überschriften. Nach dem Sortiervorgang soll eine Meldung "Text1" erscheinen, die sich selber wieder ausblendet (z.B. nach 2sec.).
Den Bereich selektieren mache ich mit folgendem Makro (aus dem Forum entnommen):
Sub FindLastRow()
Dim lngLastRow As Long
With ActiveSheet
lngLastRow = .Cells.Find(What:="*", After:=Range("A1"), _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
End With
Range("A11:CV" & lngLastRow).Select
End Sub
Beim Aufzeichnen der Sortierung entstehen nachfolgende Einzelzeilen (Auszug siehe unten). Lässt sich diese auch verkürzter darstellen (incl. variabler Zeilenanzahl) und wie sollte ich den Timer für die Meldung definieren?
Über einen Tipp würde ich mich freuen.
Grüße, Constantin
ActiveWorkbook.Worksheets("Daten").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Daten").Sort.SortFields.Add Key:=Range( _
"D11:D8510"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Daten").Sort.SortFields.Add Key:=Range( _
"E11:E8510"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Daten").Sort.SortFields.Add Key:=Range( _
"F11:F8510"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Daten").Sort.SortFields.Add Key:=Range( _
"A11:A8510"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Daten").Sort
.SetRange Range("A11:CV8510")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ansatz gefunden
04.05.2013 23:32:18
Constantin
Hallo,
ich habe jetzt einen kompakten Ansatz gefunden (auch aus diesem Forum), der zu funktionieren scheint und den definierten Bereich sortiert (siehe unten). Mit dem Timer bin ich noch am Testen.
Danke für das Wissen aus dem Forum.
Grüße, Constantin
Selection.Sort key1:=Range("A11"), order1:=xlAscending, Key2:=Range("B11") _
, Order2:=xlAscending, Key3:=Range("D11"), Order3:=xlAscending

AW: Fehler bei Sortierung mit mehreren Kriterien
05.05.2013 12:55:26
Constantin
Hallo,
die nachfolgende Sortierung führt zu einer Fehlermeldung. Ich habe mehr als drei Kriterien für die Sortierung.
Selection.Sort key1:=Range("D11"), order1:=xlAscending, Key2:=Range("E11") _
, Order2:=xlAscending, Key3:=Range("F11"), Order3:=xlAscending, Key4:=Range("B11"), Order4:=xlAscending
Ich sehe einfach den Fehler nicht? Ich möchte den selektierten Bereich sortieren.
Hat jemand eine Idee?
Danke und Grüße,
Constantin

Anzeige
AW: Fehler bei Sortierung mit mehreren Kriterien
05.05.2013 13:02:12
Hajo_Zi
Hallo Constantin,
benutze den Makrorecorder.

AW: Fehler bei Sortierung mit mehreren Kriterien
05.05.2013 14:31:47
Constantin
Hallo Hajo,
der Makrorecorder zeichnet mit den anfangs in meinem Beitrag genannten, sehr ausführlichen Code auf (mit festem Bereich). Kann ich diesen Code auch kompakter formulieren? Diese verkürzte "Version" hat mit drei Kriterien diese Fehlermeldung nicht gebracht. Vielleicht habe ich mich auch irgendwo vertippt. Oder braucht der Sortiervorgang noch weitere Informationen?
Grüße, Constantin

AW: Fehler bei Sortierung mit mehreren Kriterien
05.05.2013 14:35:44
Hajo_Zi
Hallo Constantin,
3 Bedingungen ist vor 2007, ab 2007 gibt es mehr Bedingungen, darum anderen Code. Ich Antworte immer auf das was im Beitrag steht.
Gruß Hajo

Anzeige
AW: Danke
05.05.2013 14:58:14
Constantin
Hallo Hajo,
somit ist mir die Ursache verständlich. Dann bleibe ich beim aufgezeichneten Code und versuche, den Bereich noch als variabel einzubauen.
Danke für den Hinweis.
Grüße, Constantin

AW: Danke
05.05.2013 15:47:53
Constantin
Hallo Hajo,
somit ist mir die Ursache verständlich. Dann bleibe ich beim aufgezeichneten Code und versuche, den Bereich noch als variabel einzubauen.
Danke für den Hinweis.
Grüße, Constantin

325 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige