AW: Abwechselndes Sortieren bei Doppelklick
17.12.2007 18:58:00
Daniel
Hi
das mit den Zahlenwerten kann man ganz einfach rausfinden, wenn im direktfenster "?xlascending" und "?xldescending" eingibt.
man sieht die Variablen haben die Werte 1 und 2
wenn man jetzt noch weiß, daß der boolsche Wert TRUE in Rechnungen mit -1 und der Wert FALSE mit 0 gewertet wird, kann man den Wechsel zwischen Auf- und Absteigender Sortierung ohne aufwendige IF-Abfragen hinbekommen:
1. eine allgemeine Public Variable als Boolan definieren (ausserhalb des Makros, underhalb von Option Explicit)
dim RF as boolean
2. im Makro dann:
RF = NOT(RF) '---Wechselt zwischen TRUE und FALSE, dh zwischen 0 und -1
wksDaten.Range("M10: X100).Sort Key1:=Cells(11, Target.Column), Order1:=2+RF, Header:=xlYes
Prinzipell würde ich es aber für sinnvoller halten, keine Globale Variable zu verwenden (Anwender kann ja auch mal von Hand sortieren, oder Makro stürzt mit Fehler ab, dann werden die Globalen Variablen auch zurückgesetzt), sondern einfach zu prüfuen, wie aktuell sortiert ist und entsprechend zu reagieren:
also:
dim RF as Boolean '--- innerhalb des Makros
RF = wksDaten.Cells(11, Target.column) > wksDaten.cells(100, Target.column)
wksDaten.Range("M10: X100).Sort Key1:=Cells(11, Target.Column), Order1:=2+RF, Header:=xlYes
Gruß, Daniel