Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1532to1536
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

horizontal sortieren

horizontal sortieren
14.01.2017 11:29:51
Olga
Guten Morgen,
ich möchte gerne eine Zeile nach Auswahl dsortieren lassen.
Sub horizontalSort()
Dim lCol As Long
Dim lRe As Long
Dim sFind As String
Dim lAnfangSpalte As Long
Dim wks As Worksheet
Set wks = Sheets("Sort")
With wks
sFind = Cells(1, 8)
lRe = .Columns(1).Find(what:=sFind, LookIn:=xlValues, lookat:=xlWhole, SearchOrder:= _
xlByRows).Row
If .Cells(lRe, 2) = "*Neu*" Then
lAnfangSpalte = 3
Else
lAnfangSpalte = 2
End If
lCol = .Cells(lRe, .Columns.Count).End(xlToLeft).Column
Range(.Cells(lRe, lAnfangSpalte), .Cells(lRe, lCol)).Sort Key1:=.Cells(lRe,  _
lAnfangSpalte), _
Order1:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
End With
'      Stop
End Sub

Leider rührt sich garnichts.
Danke, Gruß Olga
https://www.herber.de/bbs/user/110543.xlsm

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: horizontal sortieren
14.01.2017 11:45:19
Gerd
Hallo Olga,
frisch aus dem Makrorekorder.
Kannst dir anpassen.
Sub Makro1()
' Makro1 Makro
ActiveCell.Range("A1:E1").Select
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add Key:=ActiveCell. _
Range("A1:E1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Tabelle1").Sort
.SetRange ActiveCell.Range("A1:E1")
.Header = xlGuess
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
End Sub
Gruß Gerd
Anzeige
AW: horizontal sortieren
14.01.2017 12:14:16
Olga
Hallo Gerd,
mit dem Makrorekorder bin ich ebenfalls so weit gekommen wie Du.
Das hilfe mir jedoch nicht weiter.
Zumal die Liste wesendlich länger ist und ich nicht weiss wie ich den Code umbauen muß.
Key1:=.Cells(lRe, lAnfangSpalte) Was muß ich hier nach meinem Muster einsetzen.
Danke!
Gruß, Olga
AW: horizontal sortieren
14.01.2017 14:04:31
Tino
Hallo,
versuch es mal so.
Es wird nur die erste Zeile mit dem Suchbegriff sortiert.
Wenn mehrere vorkommen muss der Code angepasst werden!
Sub SortHorizontal_Makro1()
Dim varRow

With Sheets("Sort").UsedRange
'mehr als eine Spalte im benutzten Bereich?
If .Columns.Count > 1 Then
'Zeile Suchen in Spalte 1
varRow = Application.Match(Sheets("Menu").Range("H1").Value, .Columns(1), 0)
'gefunden?
If IsNumeric(varRow) Then
'Horizontal sortieren
.Cells(varRow, 2).Resize(, .Columns.Count - 1).Sort Key1:=.Cells(varRow, 2), _
Order1:=xlAscending, _
Header:=xlNo, _
Orientation:=xlSortRows
End If
End If
End With


End Sub
Gruß Tino
Anzeige
AW: horizontal sortieren
15.01.2017 05:24:08
Olga
Hallo Tino,
der Code funktioniert.
Danke!
Gruß
Olga
AW: Orientation:=xlSortRows ...
14.01.2017 14:32:01
Gerd
Hallo Olga,
... is the point of view in your code! :-)
Gruß Gerd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige