Anzeige
Archiv - Navigation
1452to1456
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

Code ändern um select zu vermeiden

Code ändern um select zu vermeiden
24.10.2015 19:25:11
Lorenz
Hallo
Mit folgender Schreibweise funktioniert die Sortierung. Leider wird durch ".select" das "SelectionChange" bzw. "Worksheet_BeforeRightClick" Ereignis ausgelöst. Kann man den "Sortierbefehl" anders formulieren um "select-Reaktionen" zu unterbinden?
With wksKalender
.Range("A14:ABN97").Select
.Sort.SortFields.Add Key:=Range("ABN14:ABN97"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With wksKalender.Sort
.SetRange Range("A14:ABN97")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
Danke im Voraus
Gruß
Lorenz

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code ändern um select zu vermeiden
24.10.2015 19:29:24
Hajo_Zi
Hallo Lorenz,
.Range("A14:ABN97").Sort.SortFields.Add Key:=Range("ABN14:ABN97"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
Gruß Hajo

AW: Code ändern um select zu vermeiden
24.10.2015 19:42:55
Lorenz
Hallo Hajo
So löst es leider "Laufzeitfehler 1004 (die Sort-Eigenschaften des Range-Objektes kann nicht zugeordnet werden) aus.
Gruß
Lorenz

AW: Code ändern um select zu vermeiden
24.10.2015 19:44:31
Hajo_Zi
Hallo Lorenz,
ich baue keine Datei nach. Vielleicht fehlte in Deinem Code nur ein Punkt?
.Range("A14:ABN97").Sort.SortFields.Add Key:=.Range("ABN14:ABN97"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
Gruß Hajo

Anzeige
AW: Code ändern um select zu vermeiden
24.10.2015 19:50:49
Lorenz
Hallo Hajo
Leider löst es so "laufzeitfehler 1004" (Die Sort-Eigenschaft des Range-Objektes kann nicht zugeordnet werden).
Gruß
Lorenz

AW: Code ändern um select zu vermeiden
24.10.2015 20:25:44
Daniel
Hi
ich zeigs dir mal ohne das erste WITH (Tabellenblatt).
der Punkt wird zu schnell übersehen und es gibt beim Sortieren mehrere Stellen, die da kritisch sind:
wksKalender.Sort.SortFields.Add Key:=wksKalender.Range("ABN14:ABN97"), SortOn:=xlSortOnValues,  _
Order:=xlAscending, DataOption:=xlSortNormal
With wksKalender.Sort
.SetRange wksKalender.Range("A14:ABN97")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
abweichend von der Recorderaufzeichnung kann man den Code auch so strukturieren, dann wirds etwas übersichtlicher:
With ksKalender.Sort
.SortFields.Add Key:=wksKalender.Range("ABN14:ABN97"), _
SortOn:=xlSortOnValues, _
Order:=xlAscending, _
DataOption:=xlSortNormal
.SetRange wksKalender.Range("A14:ABN97")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

etwas blöde ist hier, das man das WITH gerne für das Tabellenblatt, aber auch für das Sortierobjekt verwenden möchte, aber das geht ja nicht, weil es immer nur ein WITH gleichzeitig gibt.
Ich bevorzuge hier immer noch die Schreibweise von Excel 2003:
With wksKalender.Range("A14:ABN97")
.Sort Key1:=.Cells(1, "ABN"), order1:=xlascending, header:=xlguess
End With
gruss Daniel

Anzeige
AW: Code ändern um select zu vermeiden
25.10.2015 08:30:18
Lorenz
Hallo Daniel
Danke für die Info(s) & Tipps. Habe die von dir von dir bevorzugte Variante verwendet (Hat entgegen der zwei anderen, s o f o r t funktioniert)
vielen Dank nochmals &
Grüsse Lorenz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige