22.10.2015, 09:56
Hallo und guten Morgen,
ich habe folgendes VBA-Makro zum Sortieren:
Public dDate As Date
Public dTime As Date
Sub Sortieren()
'Startet die Sortierung und wiederholt sie alle 10 Sekunden
Range("A2:T200").Sort _
Key1:=Range("I2"), Order1:=xlDescending, _
Key2:=Range("Q2"), Order2:=xlDescending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
dTime = Now + TimeValue("0:0:10")
Application.OnTime dTime, "Sortieren"
End Sub
Damit werden mir alle 10 Sekunden die Spalten I und Q absteigend sortiert.
Allerdings ist das Problem, dass Spalte I vorrangig sortiert wird, es soll aber gleichberechtigt sortiert werden.
Ich meine damit, dass die Zeile ganz oben stehen soll, die entweder in Spalte I oder in Spalte Q den höchsten Wert (aktuellste Uhrzeit) enthält.
Als kleinen Zusatz hätte ich noch anzubringen, dass Spalte Q nur berücksichtigt werden soll, wenn Spalte P keinen Text enthält bzw. größer Null ist. Alternativ dazu habe ich eine Hilfsspalte R, die 0 oder 1 ausgibt, wenn Spalte P einen Text enthält oder nicht.
Also: In Spalte R steht 1, wenn Spalte Q berücksichtigt werden soll bzw. in Spalte R steht eine 0, wenn Spalte Q nicht berücksichtigt werden soll.
Im Anhang ist ein Auszug aus der Tabelle, in der Hoffnung, dass das weiterhilft.
ich habe folgendes VBA-Makro zum Sortieren:
Public dDate As Date
Public dTime As Date
Sub Sortieren()
'Startet die Sortierung und wiederholt sie alle 10 Sekunden
Range("A2:T200").Sort _
Key1:=Range("I2"), Order1:=xlDescending, _
Key2:=Range("Q2"), Order2:=xlDescending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
dTime = Now + TimeValue("0:0:10")
Application.OnTime dTime, "Sortieren"
End Sub
Damit werden mir alle 10 Sekunden die Spalten I und Q absteigend sortiert.
Allerdings ist das Problem, dass Spalte I vorrangig sortiert wird, es soll aber gleichberechtigt sortiert werden.
Ich meine damit, dass die Zeile ganz oben stehen soll, die entweder in Spalte I oder in Spalte Q den höchsten Wert (aktuellste Uhrzeit) enthält.
Als kleinen Zusatz hätte ich noch anzubringen, dass Spalte Q nur berücksichtigt werden soll, wenn Spalte P keinen Text enthält bzw. größer Null ist. Alternativ dazu habe ich eine Hilfsspalte R, die 0 oder 1 ausgibt, wenn Spalte P einen Text enthält oder nicht.
Also: In Spalte R steht 1, wenn Spalte Q berücksichtigt werden soll bzw. in Spalte R steht eine 0, wenn Spalte Q nicht berücksichtigt werden soll.
Im Anhang ist ein Auszug aus der Tabelle, in der Hoffnung, dass das weiterhilft.