Clever-Excel-Forum

Normale Version: VBA: Spaltenweise sortieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

nach meiner letzten Frage (von schauan übrigens super beantwortet - danke nochmals!) komme ich mit einem anderen Anliegen (Danke an alle für die super Hilfe in den letzten Tagen, wird aber wohl noch mehr;)):

Könnte mir jemand codemäßig helfen, was eine spaltenweise Sortierung anbelangt?

Ich habe ab Spalte K Werte drin, welche pro Spalte eine "Tabelle" (keine intelligente!) ergeben.
Da spaltenweise Einträge hinzukommen werden, wäre es schön, wenn die Spalten nach Klick auf einen (schon bestehenden) cmd-Button unabhängig voneinander (also jede Spalte für sich/einzeln) sortiert werden könnte -> wohl in Form einer Schleife?

Idee wäre analog wie der Beispiel-Datei.

Da wie erwähnt die Überschriften erweitert werden (4,5,6,7 usw.), soll diese Sortierung dann auch diese Spalten umfassen.

Zur Info: Ich habe bereits Sortierfunktionen im Makro drin, welche aber ausgehend der Einträge von Spalte A dann die Werte der Zellen daneben mit hoch- oder runterziehen - das soll in diesem Fall nicht geschehen (anbei der Beispiel-Code für den Kontext):

Code:
    Tabelle2.Sort.SortFields.Clear
    Tabelle2.Sort.SortFields.Add Key:= _
        Range("A2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With Tabelle2.Sort
        .SetRange Range("A2:F5000")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

Ich hoffe ich konnte das Problem einigermaßen klar schildern, ansonsten ruhig fragen ;)

Danke nochmals und LG
HAMRacer44
Hallo,

endlich weiß ich dank Deiner "Beispieldatei", wie eine leere Tabelle aussieht. Wink

Code:
Sub SpaltenweiseSortieren()
  Dim rngSpalte As Range
  For Each rngSpalte In Cells(1, 1).CurrentRegion.Columns
    rngSpalte.Sort Key1:=rngSpalte.Cells(2), Order1:=xlAscending, Header:=xlYes
  Next rngSpalte
End Sub

Gruß Uwe
Hallo Kuwer,

sorry, das war nicht meine Absicht mit der leeren Tabelle^^

Aber dafür funktioniert dein Code klasse - vielen Dank!!!

LG Domi