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

Forumthread: Tabelle über mehrere Spalten sortieren

Tabelle über mehrere Spalten sortieren
26.11.2004 12:27:05
Ingo
Guten Tag allerseits.
Ich mlchte gerne die Zelleninhatle einer Tabelle
über mehrere Spalten hinweg sortieren.
Hier ein Beispiel
Eine Tabelle mit 3 Spalten.
Spalte 1 hat 4 Zeilen mit den Werten 1,9,4,3
Spalte 2 hat 3 Zeilen mit den Werten 5,9,2
Spalte 3 hat 7 Zeilen mit den Werten 3,6,10,11,5,7,3
Nun möchte ich gerne, dass alle Zahlen in aufsteigender
Reihenfolge sortiert werden.
Dabei sollen aber alle 3 Spalten zusammen berücksichtigt werden.
Und auch die Anzahl der Zeilen der jeweiligen Spalten sollen bleiben.
Es soll dann also so aussehen:
Spalte 1 hat 4 Zeilen mit den Werten 1,2,3,3
Spalte 2 hat 3 Zeilen mit den Werten 3,4,5
Spalte 3 hat 7 Zeilen mit den Werten 5,6,7,9,9,10,11
Ist das mit Excel machbar ?
Oder geht das nur mit VBA ?
Über Eure Hilfe würde ich mich wirklich riesig freuen :)
Gruß
Ingo
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Tabelle über mehrere Spalten sortieren
26.11.2004 12:47:07
Harald
Hallo Ingo,
ohne vba
Werte einer Spalte markieren, Sortieren aufklicken, mit bestehender Markierung fortfahren
mit vba
per Rekorder aufzeichnen
Gruß
Harald
Das funktioniert noch nicht
26.11.2004 13:13:54
Ingo
Lieber Harald
Vielen lieben Dank erstmal für Deine schnelle Hilf.
Aber das will nicht recht funktionieren.
Wenn ich es so mache, wie Du vorschlägst,
werden ja doch wieder nur die einzelnen Spalten getrennt sortiert.
Schau doch nochmal mein Beispiel aus dem ersten Postinmg an.
Gruß
ingo
Anzeige
AW: Tabelle über mehrere Spalten sortieren
Uduuh
Hallo,
das geht nur per VBA oder viel Handarbeit.
Geht zwar auch eleganter, aber auf die Schnelle:

Sub sortieren()
Dim C1 As Integer, C2 As Integer, C3 As Integer
C1 = Cells(1, 1).End(xlDown).Row
C2 = Cells(1, 2).End(xlDown).Row
C3 = Cells(1, 3).End(xlDown).Row
If C1 + C2 + C3 > 65536 Then
MsgBox "zu viele Zeilen"
Exit Sub
End If
Range(Cells(1, 1), Cells(C1, 1)).Copy Cells(1, 10)
Range(Cells(1, 2), Cells(C2, 2)).Copy Cells(C1 + 1, 10)
Range(Cells(1, 3), Cells(C3, 3)).Copy Cells(C1 + C2 + 1, 10)
Cells(1, 10).Sort Key1:=Range("J1"), Order1:=xlAscending, Header:= _
xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range(Cells(1, 10), Cells(C1, 10)).Copy Cells(1, 1)
Range(Cells(C1 + 1, 10), Cells(C1 + C2, 10)).Copy Cells(1, 2)
Range(Cells(C1 + C2 + 1, 10), Cells(C1 + C2 + C3, 10)).Copy Cells(1, 3)
Columns(10).ClearContents
End Sub

Gruß aus'm Pott
Udo

Anzeige
WUNDERBAR ... DANKE !!! ... o.T.
26.11.2004 14:38:44
Ingo
o.T.
Doch nochmal ne Frage dazu (sorry)
26.11.2004 17:25:21
Ingo
Lieber Udo
Lässt es sich auch so einrichten,
dass diese "spaltenübergreifende" Sortierung
nur in den markierten Spalten stattfindet ?
Gruß
Ingo
AW: Doch nochmal ne Frage dazu (sorry)
th.heinrich
hi Ingo,
wie ist es hiermit, aus der EXCEL-FAQ (s. SERVICES)
https://www.herber.de/mailing/058399h.htm
gruss thomas
Anzeige
Ergänzung
27.11.2004 09:04:31
Ingo
Hallo nochmal
Die Lösung vom Udo funktioniert ja wunderbar (vielen Dank dafür).
Aber ich hatte in meinem ersten Posting eine
Sache leider vergessen.
Diese Sortierfunktion soll nur auf die Spalten angewendet
werden, die markiert sind.
Wobei immer nur direkt nebeneinander liegende Spalten markiert werden.
Und die Tabelle hat nicht immer nur 3 Spalten,
sondern manchnal auch wesentlich mehr.
Wenn das hier von mir beschriebene immer noch missverständlich ist,
lasst es mich bitte wissen.
Dann würde ich es nochmal anders formulieren.
Über weitere Hilfe freue ich mich immer nich riesig :)
Gruß
Ingo
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
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 über mehrere Spalten sortieren in Excel


Schritt-für-Schritt-Anleitung

Um eine Excel-Tabelle über mehrere Spalten zu sortieren, kannst Du die folgenden Schritte befolgen:

  1. Daten markieren: Wähle die Zellen der Spalten aus, die Du sortieren möchtest.
  2. Sortieren aufrufen: Gehe zu Daten in der Menüleiste und klicke auf Sortieren.
  3. Sortierkriterien festlegen: Wähle die Spalte aus, nach der Du sortieren möchtest. Du kannst mehrere Spalten hinzufügen, indem Du auf Ebene hinzufügen klickst.
  4. Sortierreihenfolge wählen: Bestimme, ob die Sortierung aufsteigend oder absteigend sein soll.
  5. Bestätigen: Klicke auf OK, um die Sortierung anzuwenden.

Wenn Du VBA verwenden möchtest, um die Sortierung über mehrere Spalten durchzuführen, kannst Du das folgende Makro verwenden:

Sub sortieren()
    Dim C1 As Integer, C2 As Integer, C3 As Integer
    C1 = Cells(1, 1).End(xlDown).Row
    C2 = Cells(1, 2).End(xlDown).Row
    C3 = Cells(1, 3).End(xlDown).Row
    Range(Cells(1, 1), Cells(C1, 1)).Copy Cells(1, 10)
    Range(Cells(1, 2), Cells(C2, 2)).Copy Cells(C1 + 1, 10)
    Range(Cells(1, 3), Cells(C3, 3)).Copy Cells(C1 + C2 + 1, 10)
    Cells(1, 10).Sort Key1:=Range("J1"), Order1:=xlAscending, Header:=xlNo
    Range(Cells(1, 10), Cells(C1, 10)).Copy Cells(1, 1)
    Range(Cells(C1 + 1, 10), Cells(C1 + C2, 10)).Copy Cells(1, 2)
    Range(Cells(C1 + C2 + 1, 10), Cells(C1 + C2 + C3, 10)).Copy Cells(1, 3)
    Columns(10).ClearContents
End Sub

Häufige Fehler und Lösungen

  • Fehler: Die Spalten werden getrennt sortiert.

    • Lösung: Stelle sicher, dass Du alle Spalten auswählst, die Du sortieren möchtest, bevor Du die Sortierfunktion aufrufst.
  • Fehler: Bei der Verwendung von VBA wird eine Fehlermeldung angezeigt.

    • Lösung: Überprüfe, ob die Anzahl der Zeilen nicht die maximale Zeilenanzahl von Excel überschreitet.
  • Fehler: Nach der Sortierung sind die Daten nicht wie gewünscht angeordnet.

    • Lösung: Stelle sicher, dass Du die richtigen Sortierkriterien ausgewählt hast.

Alternative Methoden

Wenn Du nicht mit VBA arbeiten möchtest, kannst Du auch die Excel-Formel verwenden, um mehrere Spalten zu sortieren. Eine Möglichkeit besteht darin, die Daten in eine neue Tabelle zu kopieren und dort die Sortierfunktion anzuwenden.

Eine andere Methode ist es, die Daten in eine Pivot-Tabelle zu importieren und dort die Daten nach mehreren Spalten zu sortieren.


Praktische Beispiele

Beispiel 1: Angenommen, Du hast eine Tabelle mit den Spalten Name, Alter und Stadt. Um die Tabelle nach Alter und dann nach Stadt zu sortieren:

  1. Markiere die gesamte Tabelle.
  2. Wähle Daten -> Sortieren.
  3. Füge Alter als erste Sortierkriterium hinzu und Stadt als zweite.

Beispiel 2: Wenn Du die Werte in drei Spalten sortieren möchtest, verwende das oben angegebene VBA-Skript, um die Werte der Spalten in einer neuen Spalte zu kombinieren, bevor Du sie sortierst.


Tipps für Profis

  • Verwende benannte Bereiche: Dies erleichtert die Auswahl der Daten, die Du sortieren möchtest.
  • Makros automatisieren: Du kannst Makros aufzeichnen, um den Sortierprozess zu automatisieren, was besonders nützlich ist, wenn Du regelmäßig die gleichen Daten sortierst.
  • Datenüberprüfung: Überprüfe die Daten auf Duplikate oder Inkonsistenzen, bevor Du sie sortierst, um unerwartete Ergebnisse zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich in Excel mehrere Spalten sortieren? Um mehrere Spalten in Excel zu sortieren, markiere einfach die gewünschten Spalten und benutze die Sortieren-Funktion unter dem Tab Daten.

2. Geht das auch ohne VBA? Ja, es ist möglich, mehrere Spalten in Excel ohne VBA zu sortieren, indem Du die integrierte Sortierfunktion nutzt. VBA ist jedoch nützlich für komplexere Sortieranforderungen oder automatisierte Prozesse.

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