das Makro kopiert die durch Autofilter gefilterten Werte in die Tabellenblätter 2,3 und 4. Ich hatte das so verstanden. Alles in ein Tabellenblatt zu kopieren erfordert es dann zusätzlich freien Platz zu errechnen.
Eine normale Autofilterlösung sollte es doch eigentlich auch tun? Anbei ein Beispiel, mehrmaliges Drücken des Button ändert den Filter
das Makro kopiert die durch Autofilter gefilterten Werte in die Tabellenblätter 2,3 und 4. Ich hatte das so verstanden. Alles in ein Tabellenblatt zu kopieren erfordert es dann zusätzlich freien Platz zu errechnen.
Eine normale Autofilterlösung sollte es doch eigentlich auch tun? Anbei ein Beispiel, mehrmaliges Drücken des Button ändert den Filter
JA es sollte die gefilterte Werte in das Tabellenblatt 5 als Tabelle einfügen. Nur das tu es nicht, es filter nur, ich sehe nur noch zeile 1 und ab zeile 16, dazwischen nix.
(24.05.2015, 19:11)Winny schrieb: die angehängte Datei aus #11 funktioniert tadellos!
Hi Winny,
bei mir wird leider nicht gefiltert. Das schrieb der TE:
Zitat:Es ändert nur die Filter "ich sehe nur noch zeile 1 und ab zeile 16, dazwischen nix."
Dasselbe Phänomen kann ich auch bei mir beobachten. Es werden nur die gesetzten Filter, nicht jedoch die Filterergebnisse angezeigt. Nach erstem Druck auf den Button habe ich diese Filterstellung:
2. Klick
3. Klick
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Sub tst() Application.ScreenUpdating = False Select Case Counter Case 0: Worksheets("Tabelle1").AutoFilterMode = False: Counter = Counter + 1 Case 1: Call Fehler: Counter = Counter + 1 Case 2: Call Email: Counter = Counter + 1 Case 3: Call Fax: Counter = Counter + 1 End Select If Counter > 3 Then Counter = 0 'Application.CutCopyMode = False 'Worksheets("Tabelle1").AutoFilterMode = False
Application.ScreenUpdating = True End Sub
Sub Fehler() 'Worksheets("Tabelle2").Cells.ClearContents With Worksheets("Tabelle1") .AutoFilterMode = False .Range("A:F").AutoFilter Field:=1, Criteria1:="<>Call" .Range("A:F").AutoFilter Field:=3, Criteria1:="=" .Range("A:F").AutoFilter Field:=4, Criteria1:="=" & True '.AutoFilter.Range.Copy 'With Worksheets("Tabelle2") ' .Paste Destination:=.Cells(1, 1) 'End With End With End Sub
Sub Email() Worksheets("Tabelle2").Cells.ClearContents With Worksheets("Tabelle1") .AutoFilterMode = False .Range("A:F").AutoFilter Field:=1, Criteria1:="<>Call" .Range("A:F").AutoFilter Field:=3, Criteria1:=">0" .Range("A:F").AutoFilter Field:=4, Criteria1:="=" & True .Range("A:F").AutoFilter Field:=6, Criteria1:="=" & True ' .AutoFilter.Range.Copy ' With Worksheets("Tabelle2") ' .Paste Destination:=.Cells(1, 1) ' End With End With End Sub
Sub Fax() Worksheets("Tabelle3").Cells.ClearContents With Worksheets("Tabelle1") .AutoFilterMode = False .Range("A:F").AutoFilter Field:=1, Criteria1:="<>Call" .Range("A:F").AutoFilter Field:=3, Criteria1:=">0" .Range("A:F").AutoFilter Field:=4, Criteria1:="=" & True .Range("A:F").AutoFilter Field:=5, Criteria1:="=" & True ' .AutoFilter.Range.Copy ' With Worksheets("Tabelle3") ' .Paste Destination:=.Cells(1, 1) ' End With End With End Sub
24.05.2015, 20:33 (Dieser Beitrag wurde zuletzt bearbeitet: 24.05.2015, 20:36 von Winny.)
Hi
das ist sehr seltsam. Ich benutze hier zu Hause Excel2007
@Uwe: genau deine Lösung führt bei mir zu dem von TE + Günter beschriebenem Verhalten. Dasselbe passierte vorher als ich Criteria1:="=WAHR" da stehen hatte
@Günther: Was passiert wenn du in den Filter reingehst, aber nichts veränderst sondern nur mit OK bestätigst?
Edit: was passiert beim 4.Klick? Der Filter sollte dann aus sein?
24.05.2015, 21:26 (Dieser Beitrag wurde zuletzt bearbeitet: 24.05.2015, 21:34 von WillWissen.)
Hi Winny, hi Uwe,
zu allererst:
Uwe, dein Code führt zum gewünschten Erfolg - die Filterergebnisse werden einwandfrei angezeigt.
Zu deinen Fragen, Winny.
Zur ersten: es passiert einfach nichts - die Filtersetzungen bleiben, Ergebnisse werden nicht angezeigt. Zur zweiten: Der 4. Klick hebt, ganz wie der Code es anweist, die Filter auf - die gesamte Liste ist wieder sichtbar.
Nachtrag:
Winny, auf deinen Hinweis, dass es bei dir unter XL 2007 läuft, habe ich beide Makros sowohl auf 2013 als auch auf 2007 getestet - und jetzt das Phänomen:
Unter XL2007 läuft Winnys Code, nicht aber unter XL2013. Uwes Makro bewirkt gerade das Gegenteil - einwandfreier Lauf unter 2013, aber kein Erfolg unter 2007.
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)