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

Selection entfernen

Selection entfernen
30.11.2020 15:29:03
Sarah
Ich habe jetzt hier mit dem Makro Rekorder gearbeitet:

Sub Filter()
'Filter Import2
ActiveWorkbook.Worksheets("Import2").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Import2").Sort.SortFields.Add Key:=Range("A:A") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Import2").Sort.SortFields.Add Key:=Range("H:H") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Import2").Sort
.SetRange Range("A:AI")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'Filter Import
ActiveWorkbook.Worksheets("Import").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Import").Sort.SortFields.Add Key:=Range("A:A") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Import").Sort.SortFields.Add Key:=Range("M:M") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Import").Sort
.SetRange Range("A:AN")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
das funktioniert soweit, nur leider hinterlässt es in beiden Tabellenblättern eine Selection.
gibt es eine Funktion mit der in beiden tabellenbättern, die Selection entfernt wird?
Oder kann man die Selection verhindern?

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Selection entfernen
30.11.2020 15:43:14
Daniel
HI
Selektion kannst du nicht verhindern.
Es muss auch auf dem Blatt immer mindestens eine Zelle selektiert sein.
Es gibt Aktionen, bei denen Excel selbstständig die Selektion wechselt (beispielsweise ist nach einem .PasteSpecial immer der eingefügte Bereich selektiert)
das einzige was man dagegen tun kann ist, nach dem Ausführen der Aktion eine andere Zelle zu selektieren.
btw, wenn man aufgezeichneten Code verwendet, sollte man diesen immer auch überarbeiten.
insbesondere beim Sortieren ist das zwingend notwendig, weil der Recorder hier nur unvollständig aufzeichnet.
es wird z.B. beim löschen der Sortierfelder das Tabellenblatt explizit angebeben.
Allerdings fehlt dann die Tabellenblattangabe beim Hinzufügen der einzelnen Keys und beim setzen des Sortierbereichs (.SetRange)
Das führt dazu, dass der Code nur funktioniert, wenn das zu sortierende Tabellenblatt auch das aktive Tabellenblatt ist.
möchte man auch in nicht aktiven Tabellenblättern sortieren so wäre das tabellenblatt vor jedem Range bei Key.Add und bei .SetRange hinzuzufügen:
Sub Filter()
'Filter Import2
ActiveWorkbook.Worksheets("Import2").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Import2").Sort.SortFields.Add Key:=Worksheets("Import2").Range(" _
A:A") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Import2").Sort.SortFields.Add Key:=Worksheets("Import2").Range(" _
H:H") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Import2").Sort
.SetRange Worksheets("Import2").Range("A:AI")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'Filter Import
ActiveWorkbook.Worksheets("Import").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Import").Sort.SortFields.Add Key:=Worksheets("Import").Range("A: _
A") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Import").Sort.SortFields.Add Key:=Worksheets("Import").Range("M: _
M") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Import").Sort
.SetRange Worksheets("Import").Range("A:AN")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

Gruß Daniel
Anzeige
AW: Selection entfernen
30.11.2020 18:26:46
Sarah
Danke Daniel.
Hab es jetzt behoben bekommen, vielen dank für deine Zeit und deine Hilfe.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige