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

Wie Sortieren ohne Bereich zu selektieren

Wie Sortieren ohne Bereich zu selektieren
22.10.2008 09:56:00
fga
Hallo
Ich muss eine Tabelle sortieren. Dies mache ich so:
wsLogbook.Activate
wsLogbook.Cells.Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortTextAsNumbers, _
DataOption2:=xlSortTextAsNumbers
Das funktioniert zwar, aber ich möchte die Tabelle sortieren ohne "activate" und "selection" Befehl. Wie geht das?

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

Betreff
Datum
Anwender
Anzeige
AW: Wie Sortieren ohne Bereich zu selektieren
22.10.2008 10:21:00
Rudi
Hallo,
wsLogbook.Cells.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortTextAsNumbers, _
DataOption2:=xlSortTextAsNumbers
Gruß
Rudi
AW: Wie Sortieren ohne Bereich zu selektieren
22.10.2008 10:24:45
fga
Super. Danke für die Hilfe.
Manchmal ist es so einfach dass man selbst nicht drauf kommt.
Gruss
Isha
AW: Achtung-Fehlerrisiko
22.10.2008 19:57:00
Daniel
Hi
wenn man ohne SELECT und ACTIVATE arbeitet, kann es vorkommen, daß das vom Makro bearbeitere Tabellenblatt nicht das aktuell aktive ist.
Innerhalb eines Befehls muss aber immer mit dem gleichen Tabellenblatt gearbeitet werden, sonst kommt Excel durcheinander, aber genau das passiert in Rudis Code, wenn wsLogbook grade nicht aktiv ist.
daher muss das Tabellenblatt bei JEDEM Zellbezug mit angegeben werden:

wsLogbook.Cells.Sort Key1:=wsLogbook.Range("A2"), Order1:=xlAscending, Key2:=wsLogbook.Range("B2"), Order2:=xlAscending, ...


um in diesem Fall die viele Tipparbeit zu reduzieren, kann man die WITH-Klammer verwenden, dabei wird das unter WITH beschriebene Objekt durch einen Punkt ersetzt.


With wsLogbook
.Cells.Sort Key1:=.Range("A2"), Order1:=xlAscending, Key2:=.Range("B2"), Order2:= _
xlAscending, ...
end with


Gruß, Daniel

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige