Werte horizontal sortieren in Range
#1
Hi zusammen und frohe Ostertage!

Ich habe eine Idee für mein Problem von gestern und zwar will ich die Zahlen horizontal aufsteigend sortieren.

Die Zahlen befinden sich in B17:E800.

Bsp.

x  1 3 2 4    ->> 1 2 3 4
y  9 3 2 1    ->> 1 2 3 9

doch leider ist bei sortieren das Zeilenweise ausgegraut :(

Gibts da was per vba oder besser mit hilfsspalten und rang oder so?:)

VG,

CArsten


Angehängte Dateien
.xlsx   Horizontal_Sortieren.xlsx (Größe: 9,28 KB / Downloads: 6)
Top
#2
Sub horizontalesSortieren()

    Dim i, lastRow As Integer
    Const firstColumn As Integer = 2
    Const lastColumn As Integer = 5


    lastRow = Cells(17, 1).End(xlDown).Row

    For i = 17 To lastRow
        Range(Cells(i, firstColumn), Cells(i, lastColumn)).Select
        Selection.Sort Key1:=Range("A" & i), _
        Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, _
        Orientation:=xlLeftToRight, _
        DataOption1:=xlSortTextAsNumbers
    Next i

End Sub


Ok das tuts wohl :)
Top
#3
Hallo Carsten,

du hast für dich zwar eine VBA-Lösung gefunden, aber ist das wirklich nötig? Du musst doch nur den Bereich, der sortiert werden soll, markieren (in deinem Beispiel A17:E39). Dann klickst du auf das Symbol "Sortieren" und darin auf Optionen. Hier aktivierst du "Spalten sortieren" und klickst OK. Das war's bereits.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#4
Oder:


Code:
Sub M_snb()
   For Each it In activesheet.UsedRange.Offset(16, 1).Resize(, 4).Rows
       it.Sort it.Cells(1), , , , , , , , , , 2
    Next
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top


Gehe zu:


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