Excel sortieren

Hallo zusammen,

Kann Excel auch 2 Splaten sortieren die zwar nebeneinander sind aber nicht zusammen gehören?

Beispiel:

SpalteB|SpalteC
…A…|…B…
…B…|…C…
…H…|…K…
…Y…|…E…

Jetzt soll er sortieren dass es so ausssieht:

SpalteB|SpalteC
…A…|…F…
…B…|…H…
…C…|…K…
…E…|…Y…

Gibt es diese Funktion oder geht es nur mit Makro?

Wenn es nur mit Makro geht, wäre ich für die Lösung sehr dankbar.

Allesdings geht es bei mir noch in SpalteD und SpalteE weiter.

mfg
dnbma

Moin, dnbma,

Kann Excel auch 2 Splaten sortieren die zwar nebeneinander
sind aber nicht zusammen gehören?

das kann weder Excel noch sonstwer auf der Welt.

Stell Dir die Zeilen als Zettel vor, auf denen die Spaltenwerte nebeneinander stehen. Sortieren heißt nun, die Zettel in eine gewünschte Reihenfolge zu bringen, ohne sie zu zerreißen.

Gruß Ralf

Hi dnbma,

SpalteB|SpalteC
…A…|…B…
…B…|…C…
…H…|…K…
…Y…|…E…
Jetzt soll er sortieren dass es so ausssieht:
SpalteB|SpalteC
…A…|…F…
…B…|…H…
…C…|…K…
…E…|…Y…

wohin ging das eine B, woher kommt das F ?

Allesdings geht es bei mir noch in SpalteD und SpalteE weiter.

Bring dafür mal ein Beispiel wie eben.

Gruß
Reinhard

Moin, Reinhard,

wohin ging das eine B, woher kommt das F ?

B ging von Spalte C in die Spalte B - da frage ich nicht mehr, ob F vom Himmel fiel :smile:))

Gruß Ralf

Hihi,

sry hab mich da vertan!!!

Ich machs nochmal neu!

SpalteB|SpalteC|SpalteD|SpalteE
…A…|…B…|…S…|…W
…B…|…C…|…I… …|…X
…H…|…K…|…P…|…O
…Y…|…E…|…V…|…U

ok

Jetzt will ich alles nach Alphabet sortiert haben.

Also 1 Klick z.B. auf den Makro oder auf die Option etc.

und er soll mir alles so sortiert haben.

SpalteB|SpalteC|SpalteD|SpalteE
…A…|…E…|…O…|…V
…B…|…H…|…P…|…W
…B…|…I…|…S…|…X
…C…|…K…|…U…|…Y

Ich hoffe es ist jetzt verständlich.

Es würde doch bestimmt ein Makro geben der das regeln kann.

Makros können doch fast alles wenn sie richtig und gut programmiert worden sind oder nicht? :wink:

Grüße
dnbma

SpalteB|SpalteC|SpalteD|SpalteE
…A…|…B…|…S…|…W
…B…|…C…|…I… …|…X
…H…|…K…|…P…|…O
…Y…|…E…|…V…|…U
und er soll mir alles so sortiert haben.
SpalteB|SpalteC|SpalteD|SpalteE
…A…|…E…|…O…|…V
…B…|…H…|…P…|…W
…B…|…I…|…S…|…X
…C…|…K…|…U…|…Y

Hi dnbma,

schöner Vorname, wie spricht man den aus? :smile:

Sub Sortier()
Dim Zei As Long, N As Byte
On Error GoTo Ende
Application.ScreenUpdating = False
With Worksheets("Tabelle1")
 Zei = .Range("B" & Rows.Count).End(xlUp).Row
 Worksheets.Add
 For N = 0 To 3
 .Range(.Cells(1, N + 2), .Cells(Zei, N + 2)).Copy Destination:=Range("A" & N \* Zei + 1)
 Next N
 Range("A1:A" & Zei \* 4).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, \_
 OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
 For N = 0 To 3
 Range(Cells(N \* Zei + 1, 1), Cells(Zei \* (N + 1), 1)).Copy Destination:=.Cells(1, N + 2)
 Next N
End With
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Ende:
Application.ScreenUpdating = True
End Sub

Gruß
Reinhard

wohin ging das eine B, woher kommt das F ?

B ging von Spalte C in die Spalte B - da frage ich nicht mehr,
ob F vom Himmel fiel :smile:))

Hallo Ralf,

ich laß mir doch kein X für ein U F für ein B vormachen, erst waren da 2 B und 0 F danach 1 B und 1 F *beharr* :smile:)

Gruß
Reinhard

Hallo Reinhard,

ist nicht mein Vorname eher der Spitzname mit 's.

Danke für dein Script, funzt auch. Nur leider sortiert Excel mir dann alles is SpalteA „confused“.

Habe ich was falsch gemacht?

Extras - Makro - VBA - Tabelle 1 - Script eingefügt.
dann Makro ausgeführt und dann sortiert er mir alles is Spalte A.

Grüße
dnbma

Danke für dein Script, funzt auch. Nur leider sortiert Excel
mir dann alles is SpalteA „confused“.
Habe ich was falsch gemacht?
Extras - Makro - VBA - Tabelle 1 - Script eingefügt.
dann Makro ausgeführt und dann sortiert er mir alles is Spalte
A.

Hi dnbma,

der Code müßte funktionieren auch wenn er im falschen Modul steht.

Normal gehört er dahin: Alt+F11, Einfügen–Modul.

Wenn dein Blatt „Tabelle1“ heißt und so aussieht:

Tabellenblatt: [Mappe1]!Tabelle1
 │ B │ C │ D │ E │
──┼────┼────┼────┼────┤
1 │ 75 │ 7 │ 75 │ 50 │
──┼────┼────┼────┼────┤
2 │ 68 │ 15 │ 20 │ 32 │
──┼────┼────┼────┼────┤
3 │ 33 │ 67 │ 67 │ 30 │
──┼────┼────┼────┼────┤
4 │ 12 │ 15 │ 69 │ 47 │
──┼────┼────┼────┼────┤
5 │ 2 │ 56 │ 25 │ 29 │
──┼────┼────┼────┼────┤
6 │ 34 │ 85 │ 55 │ 17 │
──┴────┴────┴────┴────┘

dann sieht es nach dem Makro so aus:

Tabellenblatt: [Mappe1]!Tabelle1
 │ B │ C │ D │ E │
──┼────┼────┼────┼────┤
1 │ 2 │ 20 │ 34 │ 67 │
──┼────┼────┼────┼────┤
2 │ 7 │ 25 │ 47 │ 68 │
──┼────┼────┼────┼────┤
3 │ 12 │ 29 │ 50 │ 69 │
──┼────┼────┼────┼────┤
4 │ 15 │ 30 │ 55 │ 75 │
──┼────┼────┼────┼────┤
5 │ 15 │ 32 │ 56 │ 75 │
──┼────┼────┼────┼────┤
6 │ 17 │ 33 │ 67 │ 85 │
──┴────┴────┴────┴────┘

Tabellendarstellung erreicht mit dem Code in FAQ:2363

Schreib mal in den Code in die Zeile vor „End Sub“ rein
If Err.number 0 then msgbox „Fehler trat auf“

Kommt dann eine Fehlermeldung beim makro-Ablauf?

Gruß
Reinhard

Danke für dein Script, funzt auch. Nur leider sortiert Excel
mir dann alles is SpalteA „confused“.
Habe ich was falsch gemacht?
Extras - Makro - VBA - Tabelle 1 - Script eingefügt.
dann Makro ausgeführt und dann sortiert er mir alles is Spalte
A.

Hi dnbma,

der Code müßte funktionieren auch wenn er im falschen Modul
steht.

Normal gehört er dahin: Alt+F11, Einfügen–Modul.

Wenn dein Blatt „Tabelle1“ heißt

Also jetzt gehts mit dem Alt+F11, Einfügen–Modul

Danke für dein Mühen

Grüße
dnbma

Hi,

das kann weder Excel noch sonstwer auf der Welt.

Doch geht mit einem Makro.

Gruß
dnbma

Hi dnbma,

Doch geht mit einem Makro.

dass man das programmieren kann, war klar. Voraussetzung dafür ist aber, dass Du keine Tabelle vorliegen hast, sondern einen Kasten, den Du beliebig interpretierst. Oder anders gesagt, sortiert wird keine Tabelle, sondern eine Verkettung der einzelnen Spalten. Kleiner, aber feiner Unterschied :smile:

Gruß Ralf

Kann Excel auch 2 Splaten sortieren die zwar nebeneinander
sind aber nicht zusammen gehören?

Hallo,
Spalte markieren und sortieren, Markierung nicht auf benachbarte Spalten erweitern. Und danach die naechste Spalte ebenso…
Gruss Helmut