Startseite

Zeilen sortieren

Mit dem hier vorgestellten Makro ist es möglich, Werte zu sortieren, die innenhalb einer Zeile stehen. Das Beispiel unten sortiert die Werte aufsteigend. Wenn der Befehl Small in der Sortier anweisung durch Large ersetzt wird, werden die Werte absteigend sortiert.
Das Ergebnis:
Das Makro zum Kopieren:
Sub zeilen_sortieren()
' Sortiert in einer Tabelle die Zahlen Zeilenweise
' Klaus-Dieter Oppermann
z = 2                                                                       ' Startzeile für Schleife
Do While Cells(z, 1) <> ""                                                  ' Start Schleife (läuft solange Zelle nicht leer)
    For sp = 7 To 12                                                        ' Bereich für Sortierergebnis (Spalte G bis L)
Cells(z, sp) = Workbooks.Application.Small(Range("A" & z, "F" & z), sp - 6) ' Anweisung zum Sortieren
    Next sp                                                                 ' Wendepunkt für For Next Schleife
z = z + 1                                                                   ' Schleifenzähler für Do While Schleife
Loop                                                                        ' Wendepunkt für Do While Schleife
End Sub                                                                     ' Ende des Makros

Werden die folgenden Zeilen zwischen Next sp und z = z + 1 eingefügt, werden die Ausgangswerte gelöscht und es bleibt nur die sortierte Tabelle übrig.
Range("A" & z, "F" & z).Select                                              ' Bereich markieren
    Selection.Delete Shift:=xlToLeft                                        ' Markierten Bereich löschen