Herbers Excel-Forum - das Archiv
Sortierung bei mehreren Überschriftzeilen
Betrifft: Sortierung bei mehreren Überschriftzeilen
von: Burghard
Geschrieben am: 26.10.2003 20:23:36
Hallo,
kann mir jemand helfen? Ich möchte eine Tabelle per VBA sortieren. Allerdings wird ggf. nur die erste Zeile als Überschrift genommen. Meine Überschrift besteht aber oft aus zwei Zeilen, manchmal auch aus drei. Nur der Bereich nach den Überschriftzeilen soll sortiert werden.
Die Standardsortierung ist so (nur eine Überschriftzeile):
Sub Sortieren()
Cells.Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
Wie kann ich dieses Makro anpassen?
Danke im voraus!
Burghard
Betrifft: AW: Sortierung bei mehreren Überschriftzeilen
von: Beni
Geschrieben am: 26.10.2003 21:36:24
Hallo Burghard,
dieses Makro markiert von A3 bis H letzte Zeile und sortiert ohne Ueberschrift
Gruss Beni
Sub Sortieren()
r = Cells(65536, 1).End(xlUp).Row '<<<< sucht die letzte Zeile
Range("A3:H" & r).Select '<<<< markiert von A3 bis H-letzte Zeile
Key1:=ActiveCell, Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
[A3].Select
End Sub
Betrifft: AW: Sortierung bei mehreren Überschriftzeilen
von: Burghard
Geschrieben am: 27.10.2003 11:07:12
Hallo Beni, vielen Dank, hat prima geklappt! Kleine Nachbesserung siehe unten ("Selection.Sort" fehlte bei dir).
Frage:
Gibt es auch einen Weg, die letzte Spalte mit Daten (ähnlich der letzten Zeile) abzufragen und in den Code statt "H" bei Range("A3:H" & r).Select zu nehmen? Ich habe nicht immer dieselbe Anzahl von Spalten.
Dank und Gruss Burghard
Sub Sortieren()
r = Cells(65536, 1).End(xlUp).Row '<<<< sucht die letzte Zeile
Range("A3:H" & r).Select '<<<< markiert von A3 bis HZ-letzte Zeile
Selection.Sort Key1:=ActiveCell, Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
[A3].Select
End Sub
Könnte vielleicht so ähnlich aussehen (ist leider falsch):
Sub Sortieren()
c = Cells(65536, 1).End(xlUp).Column '<<<< sucht die letzte Spalte
r = Cells(65536, 1).End(xlUp).Row '<<<< sucht die letzte Zeile
Range("A3" & c & r).Select '<<<< markiert von A3 bis letzte Spalte und letzte Zeile
Selection.Sort Key1:=ActiveCell, Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
[A3].Select
End Sub
Betrifft: AW: Sortierung bei mehreren Überschriftzeilen
von: Beni
Geschrieben am: 27.10.2003 19:49:37
Hallo Burghard,
dieses Beispiel sucht die letzte Zeile in Spalte 1 darum das "r = Cells(65536, 1)" und
die letzte Spalte in Zeile 3 darum das "c = Cells(3, 256)"
wichtig ist, dass in der Zeile wo die letzte Spalte gesucht wird, ein Wert drinn steht.
Gruss Beni
Sub Sortieren()
r = Cells(65536, 1).End(xlUp).Row '<<<< sucht die letzte Zeile
c = Cells(3, 256).End(xlToLeft).Column '<<<< sucht die letzte Spalte
Range(Cells(3, 1), Cells(r, c)).Select
Selection.Sort Key1:=ActiveCell, Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
[A3].Select
End Sub
Betrifft: AW: Sortierung bei mehreren Überschriftzeilen
von: Burghard
Geschrieben am: 29.10.2003 09:54:11
Hallo Berni,
vielen Dank, alles super!
Gruss Burghard