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

Forumthread: Sortieren einer Tabelle mit mehr als 3 Kriterien

Sortieren einer Tabelle mit mehr als 3 Kriterien
09.09.2005 11:27:15
Daniel
Hallo zusammen,
ich will eine Tabelle nach mehr als 3 Kriterien sortieren. ist das überhaupt möglich? Eine weitere Bedingung im VBA code wirft auf jeden fall error!
vielen Dank schon im Voraus,
daN
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortieren einer Tabelle mit mehr als 3 Kriterien
09.09.2005 12:09:04
Nepumuk
Hallo Daniel,
sortiere in zwei Schritten. Im ersten die untergeordneten, im zweiten die übergeordneten.
Gruß
Nepumuk
Excel & VBA – Beispiele
AW: Sortieren einer Tabelle mit mehr als 3 Kriterien
09.09.2005 12:34:30
Daniel
jo, hab ich mir auch schon gedacht. hab gedacht es gibt vielleicht nen einfacheren weg... aber thx for help
Anzeige
AW: Sortieren einer Tabelle mit mehr als 3 Kriterien
09.09.2005 13:20:31
Daniel
ja sag mal, bin ich denn doof? bekomms leider selber nicht gebacken das richtig zu sortieren... also ich sortiere im ersten schritt mit:
Columns("A:AK").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Key3:=Range("H2"), Order3:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
xlSortNormal
wenn ich die tabelle jetzt noch nach spalte J, K, und L im Anschluss sortieren will... wie muss ich das coden ;-)
Danke,
*d
Anzeige
AW: Sortieren einer Tabelle mit mehr als 3 Kriterien
09.09.2005 13:31:53
Nepumuk
Hallo Daniel,
so z.B.
Public Sub test()
    With Columns("A:AK")
        .Sort Key1:=Range("A1"), Key1:=Range("B1") _
            , Key3:=Range("H1"), Header:=xlYes
        .Sort Key1:=Range("J1"), Key1:=Range("K1") _
            , Key3:=Range("L1"), Header:=xlYes
    End With
End Sub

Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
AW: Sortieren einer Tabelle mit mehr als 3 Kriterien
09.09.2005 13:47:53
Daniel
Hallo Nepumuk,
leider führt dein makro nicht zum erwünschten ergebnis, da beim zweiten schritt die vorhergende sortierung verfälscht wird. ich hab mal einen auszug meiner tabelle hochgeladen.
https://www.herber.de/bbs/user/26426.xls
Anzeige
AW: Sortieren einer Tabelle mit mehr als 3 Kriterien
09.09.2005 14:47:14
Nepumuk
Hallo Daniel,
was ist dein oberster Sortierbegriff? Der Hersteller?
Gruß
Nepumuk
Excel & VBA – Beispiele
AW: Sortieren einer Tabelle mit mehr als 3 Kriterien
12.09.2005 09:47:19
Daniel
hallo nepomuk,
die sortierreihenfolge ist wie folgt: hersteller, fabriknummer, datum, und dann die nachfolgenden werte. ziel sollte es sein nach den ersten kriterien alle doppelten datensätze genau untereinander zu sortieren um diese zu erkennen und zu entfernen. dafür habe ich schon ein makro, nur das setzt voraus dass alle doppelten datensätze direkt untereinander stehen..
Daniel
Anzeige
AW: Sortieren einer Tabelle mit mehr als 3 Kriterien
12.09.2005 10:07:17
Nepumuk
Hallo Daniel,
ich habe doch geschrieben, dass du die obersten Sortierbegriffe zuletzt sortieren musst. Also, so:
Public Sub test()
    With Columns("A:AK")
        .Sort Key1:=Range("J1"), Key1:=Range("K1") _
            , Key3:=Range("L1"), Header:=xlYes
        .Sort Key1:=Range("A1"), Key1:=Range("B1") _
            , Key3:=Range("H1"), Header:=xlYes
    End With
End Sub

Gruß
Nepumuk

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Tabelle in Excel nach mehreren Kriterien sortieren


Schritt-für-Schritt-Anleitung

Um eine Excel-Tabelle nach mehreren Kriterien zu sortieren, kannst Du den folgenden VBA-Code verwenden. Dieser Code hilft Dir, eine Tabelle mit mehr als 3 Kriterien zu sortieren, was mit den Standardfunktionen in Excel nicht immer möglich ist.

Public Sub SortTable()
    With Columns("A:AK")
        .Sort Key1:=Range("A1"), Order1:=xlAscending, _
              Key2:=Range("B1"), Order2:=xlAscending, _
              Key3:=Range("H1"), Order3:=xlAscending, _
              Header:=xlYes
        .Sort Key1:=Range("J1"), Order1:=xlAscending, _
              Key2:=Range("K1"), Order2:=xlAscending, _
              Key3:=Range("L1"), Order3:=xlAscending, _
              Header:=xlYes
    End With
End Sub

In diesem Code wird zuerst nach den ersten Kriterien (A, B, H) und danach nach den weiteren Kriterien (J, K, L) sortiert. Achte darauf, dass Du die Header-Option auf xlYes setzt, um die erste Zeile als Header zu behandeln.


Häufige Fehler und Lösungen

  1. Fehlermeldung bei der Sortierung

    • Wenn Du beim Sortieren auf einen Fehler stößt, kann es daran liegen, dass die Spalten nicht korrekt referenziert sind. Stelle sicher, dass die Range in Deinem Code korrekt ist.
  2. Sortierung wird nicht wie erwartet ausgeführt

    • Überprüfe, ob die Sortierkriterien in der richtigen Reihenfolge angegeben sind. Die obersten Kriterien sollten zuletzt sortiert werden, um eine korrekte Anordnung zu gewährleisten.
  3. Daten werden nicht richtig gruppiert

    • Wenn Du doppelte Datensätze untereinander sortieren möchtest, achte darauf, dass die ersten Kriterien alle Duplikate erfassen, bevor Du mit den weiteren Kriterien fortfährst.

Alternative Methoden

Es gibt auch alternative Methoden, um eine Excel-Tabelle nach mehreren Kriterien zu sortieren, ohne VBA zu verwenden:

  • Sortieren über das Menü:

    1. Wähle die gesamte Tabelle aus.
    2. Klicke auf "Daten" und dann auf "Sortieren".
    3. Füge mehrere Sortierkriterien hinzu, indem Du auf "Ebene hinzufügen" klickst.
  • Benutze die Funktion "Sortieren" in der Filterleiste: Aktiviere die Filteroptionen in der Kopfzeile und sortiere nach den gewünschten Spalten.


Praktische Beispiele

Angenommen, Du hast eine Tabelle mit den Spalten "Hersteller", "Fabriknummer", "Datum" und weiteren Werten. Um diese Tabelle nach "Hersteller", "Fabriknummer" und "Datum" zu sortieren, kannst Du den zuvor genannten VBA-Code anpassen, um die gewünschten Spalten zu referenzieren.

Beispiel:

Public Sub CustomSort()
    With Columns("A:D") ' Angenommene Spalten A bis D
        .Sort Key1:=Range("A1"), Order1:=xlAscending, _
              Key2:=Range("B1"), Order2:=xlAscending, _
              Key3:=Range("C1"), Order3:=xlAscending, _
              Header:=xlYes
    End With
End Sub

Dieses Skript sortiert die Tabelle zuerst nach "Hersteller", dann nach "Fabriknummer" und schließlich nach "Datum".


Tipps für Profis

  • Verwende benannte Bereiche: Wenn Du oft mit den gleichen Daten arbeitest, kann es hilfreich sein, benannte Bereiche zu erstellen, um den Code übersichtlicher zu gestalten.

  • Fehlerbehandlung implementieren: Füge Fehlerbehandlungsroutinen in Deinen VBA-Code ein, um sicherzustellen, dass der Code auch bei unerwarteten Daten weiterhin funktioniert.

  • Dokumentation: Kommentiere Deinen Code gründlich, um Dir und anderen zu helfen, den Code später leichter zu verstehen.


FAQ: Häufige Fragen

1. Kann ich in Excel auch nach zwei Kriterien sortieren?
Ja, Du kannst in Excel nach zwei Kriterien sortieren, indem Du die entsprechenden Keys im VBA-Code oder über das Sortiermenü angibst.

2. Was muss ich tun, wenn die Sortierung nicht funktioniert?
Überprüfe Deine Daten auf leere Zellen oder inkonsistente Formate, die die Sortierung beeinflussen könnten. Achte auch darauf, dass die Sortierkriterien korrekt festgelegt sind.

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