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.
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