Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro "Orientation:=xlTopToBottom"

Forumthread: Makro "Orientation:=xlTopToBottom"

Makro "Orientation:=xlTopToBottom"
15.08.2006 13:33:04
Jörg
Hallo,
ich möchte mit einem aufgezeichnetem Makro Zeilen absteigend nach Datum sortieren.
Beim aufzeichnen funktioniert das Makro auch. Beim abspielen sortiert es aber aufsteigend.
Rows("4:23").Select
Selection.Sort Key1:=Range("D4"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers
Kann mir jemand bei der Lösung helfen, ich habe leider nicht so viel Ahnung von der Programierung.
MfG Jörg
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Order1:=xlAscending o.T.
15.08.2006 13:35:20
Josef
Gruß Sepp

AW: Order1:=xlAscending o.T.J
15.08.2006 13:56:58
Jörg
Funktioniert SUPER....
Vielen Dank
AW: Order1:=xlAscending o.T.J
15.08.2006 14:09:36
Jörg
Leider zu früh gefreut. Ich hatte der Errorhandler noch eingeschalten, dadurch brachte Excel keinen Fehler.
Gehe ich das Makro mit "F8" Schritt für Schritt durch, werden die Daten richtig sortiert, aber dann bekomme ich einen Laufzeitfehler 1004. Die Zellen bleiben dann alle selektiert.
Gruß Jörg
Anzeige
;
Anzeige

Infobox / Tutorial

Zeilen absteigend sortieren mit VBA in Excel


Schritt-für-Schritt-Anleitung

Um Zeilen in Excel absteigend nach Datum zu sortieren, kannst Du folgendes VBA-Makro verwenden. Beachte, dass die Zeilen 4 bis 23 in diesem Beispiel sortiert werden.

  1. Öffne Excel und gehe zu Entwicklertools > Visual Basic.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub SortiereNachDatumAbsteigend()
       Rows("4:23").Select
       Selection.Sort Key1:=Range("D4"), Order1:=xlDescending, Header:=xlGuess, _
       OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
       DataOption1:=xlSortTextAsNumbers
    End Sub
  4. Schließe den VBA-Editor und kehre zurück zu Excel.

  5. Führe das Makro aus, indem Du auf Entwicklertools > Makros klickst und das Makro SortiereNachDatumAbsteigend auswählst.

Achte darauf, dass Du das richtige Orientation:=xlTopToBottom verwendest, um die Sortierung korrekt durchzuführen.


Häufige Fehler und Lösungen

  • Laufzeitfehler 1004: Dieser Fehler kann auftreten, wenn die Zellen selektiert bleiben und das Makro nicht richtig ausgeführt wird. Stelle sicher, dass Du die Zellen korrekt auswählst und das Makro nicht in einem fehlerhaften Zustand ausführst.

  • Sortierung funktioniert nicht: Überprüfe, ob die Daten in der angegebenen Spalte (z.B. D4) im richtigen Datumsformat vorliegen.

  • Aufsteigende Sortierung anstelle absteigender: Stelle sicher, dass Du Order1:=xlDescending richtig im Code angegeben hast.


Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du die Daten auch manuell sortieren:

  1. Markiere die Zellen, die Du sortieren möchtest.
  2. Gehe zu Daten > Sortieren.
  3. Wähle die Spalte aus, nach der Du sortieren möchtest, und setze die Sortierreihenfolge auf Absteigend.

Diese Methode ist einfach und benötigt keine Programmierkenntnisse.


Praktische Beispiele

Nehmen wir an, Du hast eine Liste von Verkaufsdaten in der Spalte D, die Du absteigend sortieren möchtest. Der oben stehende VBA-Code sortiert die Zeilen 4 bis 23 basierend auf diesen Verkaufsdaten.

Wenn Du eine größere Datenmenge hast, kannst Du den Bereich anpassen:

Rows("4:100").Select

Das würde die Zeilen 4 bis 100 sortieren.


Tipps für Profis

  • Nutze Debug.Print innerhalb Deines Makros, um den Status oder die Werte während der Ausführung zu überprüfen. Das hilft, Probleme schneller zu identifizieren.

  • Achte darauf, Deine Makros regelmäßig zu testen, insbesondere nach Änderungen, um sicherzustellen, dass die vba sort orientation wie gewünscht funktioniert.

  • Integriere Error-Handling in Deine Makros, um Laufzeitfehler besser zu managen. Ein einfaches Beispiel wäre:

    On Error Resume Next

FAQ: Häufige Fragen

1. Was ist die Bedeutung von Orientation:=xlTopToBottom? Orientation:=xlTopToBottom gibt an, dass die Sortierung von oben nach unten erfolgt. Dies ist wichtig, um sicherzustellen, dass die Daten in den Zeilen korrekt sortiert werden.

2. Kann ich andere Sortiermethoden verwenden? Ja, Du kannst die Sortiermethoden anpassen, indem Du Order1 änderst. Zum Beispiel kann Order1:=xlAscending für eine aufsteigende Sortierung verwendet werden.

3. Funktioniert dieses Makro in allen Excel-Versionen? Das Makro sollte in den meisten neueren Excel-Versionen funktionieren, die VBA unterstützen, einschließlich Excel 2010, 2013, 2016, 2019 und Microsoft 365.

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