Zeilen in Excel horizontal sortieren

URL dieses Beitrags: http://blog.stefan-macke.com/2006/01/23/zeilen_in_excel_horizontal_sortieren/

Ich habe eine Excel-Datei mit mehreren Zeilen in denen unterschiedlich viele Werte stehen und möchte diese von links nach rechts für jede Zeile einzeln aufsteigend sortieren.

Beispiel-Datei vorher:
Beispiel Excel horizontale Sortierung vorher

Beispiel-Datei nachher:
Beispiel Excel horizontale Sortierung nachher

Das ganze in Excel zu machen ist recht einfach mit einem kleinen Makro lösbar. Unter Daten - Sortieren - Optionen kann man zwar einstellen, dass man die Zeile sortieren möchte und nicht die Spalte, aber dann sortiert Excel die Zeilen nach dem "Vorbild" der ersten Zeile und dass ist nicht gewünscht.

Folgendes Makro erledigt die Aufgabe jedoch, indem es jede Zeile einzeln sortiert. Dabei kann über die Konstanten gesteuert werden, welche Spalten die Sortierung umfassen soll.

  1. Option Explicit
  2. ' sorts cells in all rows of current worksheet ascending from left to right
  3. Sub horizontalSort()
  4.     Dim i, lastRow As Integer
  5.     Const firstColumn As Integer = 1
  6.     Const lastColumn As Integer = 10
  7.    
  8.     ' find last row
  9.     lastRow = Cells(1, 1).End(xlDown).Row
  10.    
  11.     ' sort cells in each row ascending from left to right
  12.     For i = 1 To lastRow
  13.         Range(Cells(i, firstColumn), Cells(i, lastColumn)).Select
  14.         Selection.Sort Key1:=Range("A" & i), _
  15.             Order1:=xlAscending, Header:=xlNo, _
  16.             OrderCustom:=1, MatchCase:=False, _
  17.             Orientation:=xlLeftToRight, _
  18.             DataOption1:=xlSortTextAsNumbers
  19.     Next i
  20. End Sub
Füge diesen Artikel zu deinen Bookmarks hinzu Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • del.icio.us
  • bodytext
  • MisterWong
  • Reddit
  • Technorati
  • Spurl
  • description

Einen Kommentar schreiben

XHTML: Diese Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>