Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA: Spaltenweise sortieren
#1
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


Angehängte Dateien
.xlsx   Beispieldatei Sortieren VBa.xlsx (Größe: 7,25 KB / Downloads: 1)
Antworten Top
#2
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
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • HAMRacer44
Antworten Top
#3
Hallo Kuwer,

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

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

LG Domi
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste