Ich habe 350 Spalten. Unten sehen Sie eine Teilmenge aller Daten.
Ich habe das Tool „Vom Kleinsten zum Größten sortieren“ verwendet. Es liefert nur Ergebnisse für eine Spalte. Andernfalls kann es die erste Spalte sortieren und die anderen Spalten ändern sich entsprechend der ersten. Aber ich möchte alle Spalten von A bis Z separat sortieren.
Ich möchte die Daten nach Bezirken sortieren.
Antwort1
1.Wählen Sie die Spalte aus, die Sie sortieren möchten. Klicken Sie dann auf „Vom Kleinsten zum Größten sortieren“.
2.Wählen Sie „Mit der aktuellen Auswahl fortfahren“.
Sie sehen, dass nur eine Spalte sortiert wurde.
Wiederholen Sie dies für die restlichen 349 Spalten :)
Um alles auf einmal zu erledigen:
Öffnen Sie das Blatt, das Sie sortieren möchten.
Öffnen Sie den VBA-Editor mit Alt+F11
Einfügen > Modul
Fügen Sie diesen Code ein:
Unter sort_columns_separately_AZ() Dim rngStart As Range Dim rngHeaders als Bereich Dim c als Bereich Setzen Sie rngStart = ActiveSheet.Range("A2") Setzen Sie rngHeaders = ActiveSheet.Range(rngStart, rngStart.End(xlToRight)). Für jedes c in rngHeaders ActiveSheet.Sort.SortFields.Löschen ActiveSheet.Sort.SortFields.Schlüssel hinzufügen:=c, _ SortOn:=xlSortOnValues, Reihenfolge:=xlAscending, Datenoption:=xlSortNormal Mit ActiveSheet.Sort .SetRange ActiveSheet.Range(c, c.End(xlDown)) .Header = xlJa .MatchCase = Falsch .Orientation = xlTopToBottom .SortMethod = xlPinYin .Anwenden Ende mit Nächste End Sub
- Ersetzen Sie im Code
ActiveSheet.Range("A2")
die Adresse der Zelle, an der Ihre Datentabelle beginnt, beispielsweiseActiveSheet.Range("B5")
. - SchlagF5
Hinweis: Wenn Ihre Daten leere Zellen enthalten, muss dieser Code angepasst werden, damit er in den Spalten mit leeren Zellen ordnungsgemäß funktioniert.