Mein Problem ist dass es dann den Filter in den nächsten Arbeitsblättern auch verändert.
so muß ich dann immer im Dropdown die jeweilige Abteilung bzw. Arbeiter neu abklicken damit nur dies in der Tabelle angezeigt wird.
die Sortierung wirkt in dem Blatt, welches beim Aufruf des Makros aktiv ist.
Auf verschiedenen Blättern kann es nur wirken, wenn Du selbige aktivierst und das Makro auf dem jeweils aktivierten Blatt nochmals ausführst.
Eine gezielte Sortierung kannst Du z.B. dadurch erreichen, indem Du bei den Bereichsangaben das entsprechende Blatt zuweist, z.B.
Code:
With Sheets("Übersicht")
.Rows("4:65536").Sort Key1:=.Range("D4"), Order1:=xlDescending, Key2:=.Range("C4") _
, Order2:=xlAscending, Key3:=.Range("E4"), Order3:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With
Beachte im Code die Punkte vor Rows und jeder Range-Angabe. Ein Select auf einem nicht aktiven Blatt ist nicht direkt möglich.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
23.03.2016, 10:42 (Dieser Beitrag wurde zuletzt bearbeitet: 23.03.2016, 10:43 von Nixblick0815.)
Nur mal zur Erklärung:
Code:
With Sheets("Übersicht")
.Rows("4:65536").Sort Key1:=.Range("D4"), Order1:=xlDescending, Key2:=.Range("C4") _
, Order2:=xlAscending, Key3:=.Range("E4"), Order3:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With
Meine Spalte E4 hat die Formatierung -Datum-
Wie kann ich dann die Liste nach dem Datum sortieren aber mit der Bedingung dass die erledigten Aufträge (durchgestrichen, Bedingte Formatierung) nicht berücksichtigt werden?
15.05.2016, 11:17 (Dieser Beitrag wurde zuletzt bearbeitet: 15.05.2016, 11:18 von Nixblick0815.)
(16.03.2016, 21:57)schauan schrieb: Ein Select auf einem nicht aktiven Blatt ist nicht direkt möglich.
Also kann ich dies nicht machen, wenn ich den Button auf dem Blatt 1 habe:
Code:
With Sheets("Blatt1")
.Rows("4:65536").Sort Key1:=.Range("D4"), order1:=xlDescending, Key2:=.Range("C4") _
, Order2:=xlAscending, Key3:=.Range("E4"), Order3:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With
With Sheets("Blatt2")
.Rows("4:65536").Sort Key1:=.Range("C4"), order1:=xlDescending, Key2:=.Range("D4") _
, Order2:=xlAscending, Key3:=.Range("E4"), Order3:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With
End Sub
und wenn auf den Blatt 2 ein Autofilter ist ,dann zusätzlich nach dem Autofilter filtern:
Code:
Sub Filtersetzen()
Dim ws As Worksheet
For Each ws In Worksheets
If ws.AutoFilterMode Then
If ws.FilterMode Then ws.ShowAllData
Else
ws.UsedRange.AutoFilter
End If
ws.UsedRange.AutoFilter Field:=12, Criteria1:=xxxx
ws.Rows(1).Hidden = True
Next
End Sub