EXCEL MAC 2016 Spalten ohne zusammenhang sortieren?
Ich habe eine Tabelle, bestehend aus ca. 5000 Spalten. Die Spalten haben kein Bezug zueinander. Hauptsache jede Spalte wird einzeln für sich korrekt chronologisch sortiert (ohne jede Spalte einzeln auszuwählen).
Bsp. Siehe Upload.

2 Antworten
Hi,
Ich habe mal ein kleines Makro geschrieben, das die Aufgabe lösen sollte.
Das Makro muss in die Datei, in der die zu sortierenden Spalten stehen. Und die Tabelle mit den Werten muss die aktive (angezeigte) Tabelle sein, wenn Du das Makro startest. Wie Du es in die Datei bekommst und ausführst, weißt Du?
Würde mich über Feedback freuen.
Viel Erfolg
Hannes
Sub SpaltenUnabhaengigSortieren()
'
' Makro1 Spalten sortieren
'
Application.ScreenUpdating = False
LetzteSpalte = Cells(1, 10000).End(xlToLeft).Column
ErsteZeile = 2
For Spalte = 1 To LetzteSpalte
LetzteZeile = Cells(65536, Spalte).End(xlUp).Row
ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Sort.SortFields.Add Key:=Range(Cells(ErsteZeile, Spalte), Cells(LetzteZeile, Spalte)), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveSheet.Sort
.SetRange Range(Cells(ErsteZeile, Spalte), Cells(LetzteZeile, Spalte))
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Next
Application.ScreenUpdating = True
End Sub
Hallo,
wenn du nur den zu sortierenden Bereich markierst und auf sortieren gehst, bekommst du die Frage, ob du wirklich nur diesen Bereich sortieren willst. Bestätigen, fertig. Das müsstest du aber halt für jede Spalte einzeln machen.
Alternativ könntest du ein Makro schreiben, welches diese Sortierung als Schleife solange durchführt, bis die Spalten nicht mehr befüllt sind. Makrorecorder sollte hier helfen.
LG, Chris
Kann ich dir spontan auch keinen geben, bin selbst nicht der absolute VBA-Crack.
Ich würde es vermutlich über eine Schleife probieren, was aber elend lang dauern dürfte und ggf. die Rechenleistung überfordert.
Genau, es sollen alle Spalten gleichzeitig sortiert werden. Das mit dem Makro habe ich versucht. Jedoch nicht erfolgreich. Liegt hier eindeutig an meiner fehlenden Kenntnis. Einen fertigen Code hierzu habe ich nicht gefunden. -.-