Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1888to1892
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

Zeile selectieren und sortieren

Zeile selectieren und sortieren
20.07.2022 17:35:43
Arno
Guten Abend,
ich habe folgendes Makro aufgezeichnet:
' Range("E27:G27").Select
' ActiveWorkbook.Worksheets("Transporte").Sort.SortFields.Clear
' ActiveWorkbook.Worksheets("Transporte").Sort.SortFields.Add2 Key _
:=Range("E27:G27"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
' With ActiveWorkbook.Worksheets("Transporte").Sort
' .SetRange Range("E27:G27")
' .Header = xlGuess
' .MatchCase = False
' .Orientation = xlLeftToRight
' .SortMethod = xlPinYin
' .Apply
' End With
nun möchte ich eine beliebige Zelle auswählen, die soll erweitert werden um 2 Zellen nach Rechts.
Dim bereich
With ActiveCell
bereich = Range(.Offset(0, 0), .Offset(0, 2)).Select
MsgBox Selection.Address
End With
Das klappt soweit aber ich kann diesen Bereich in meinem aufgezeichneten Makro nicht
reinsetzen.
gruß Arno

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile selectieren und sortieren
20.07.2022 18:22:28
Nepumuk
Hallo Arne,
zum sortieren musst du nichts selektieren:

Public Sub Test()
With ThisWorkbook.Worksheets("Transporte").Sort
Call .SortFields.Clear
Call .SortFields.Add2(Key:=Selection, SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal)
Call .SetRange(Selection.Resize(1, 3))
.Header = xlGuess
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
Call .Apply
End With
End Sub
Gruß
Nepumuk
Danke !!! Nepumuk und Daniel -)
20.07.2022 19:20:37
Arno
AW: Zeile selectieren und sortieren
20.07.2022 18:41:01
Daniel
Hi
sollte man dann nicht konsequenterweise, auch das gewählte Tabellenblatt verwenden unabhängig von seiner Benennung?

With ActiveSheet.Sort
.SortFields.Clear
.SortFields.Add Key:=Selection, SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
.SetRange Selection.Resize(, 3)
.Header = xlNo
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
wobei ich die klassische Programmierung von Excel 2003 zum sortieren bevorzuge. da reicht dann meistens eine einzige Zeile, vorallem wenn es nur ein Kriterium gibt:

Selection.Resize(, 3).Sort Key1:=Selection, order1:=xlAscending, Header:=xlNo, Orientation:=2
noch ein Tip: wenn man eine Zeile nach Spalten sortiert (Orientation: 2 / xllefttoright), dann sollte man noch im Code hinterher irgendwas "normal" also eine Spalte nach Zeilen sortieren.
Denn Excel merkt sich hier die Einstellungen und wenn man dann nach dem Marko was von Hand sortiert, geht man meisten von der normalen Sortierrichtung aus und vergisst, diese explizit einzustellen, zumal die sich immer noch in den zusätzlich anzuklickenden Optionen versteckt.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige