Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1192to1196
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

Makro vor Änderung eines Autofilter durchführen?

Makro vor Änderung eines Autofilter durchführen?
Kai
Hallo,
ich möchte vor Änderungen von bestimmten Autofiltern alle anderen Autofilter auf "Alle" setzen. Geht das irgendwie?
Im Archiv habe ich unter "nach autofilter makro ausführen" die Methode Worksheet_Change gefunden und überlegt, ob ich mit entsprechenden Abfragen das ganze bewerkstelligen kann. Diese Methode reagiert bei mir aber nur auf Änderungen von Zellen, nicht auf das Ändern des Filters.
Bin über alle Tips dankbar!
Gruß Kai
PS: Ein gutes neues Jahr! :-)

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro vor Änderung eines Autofilter durchführen?
03.01.2011 17:18:09
BerndE
Hallo Kai,
die Änderung des Autofilters selbst löst kein Ereignis aus. Allerdings wird nach der Änderung das Calculate-Ereignis ausgelöst, womit Du dann eine Änderung "erkennen" kannst.
Anhand dieser "Erkennung" kannst Du ggfs. alle anderen Filter (nachträglich) auf "Alle" setzen.
Ich hoffe, das hilft Dir ein wenig...
Gruß
Bernd
www.bernds.page.de.vu
AW: Makro vor Änderung eines Autofilter durchführen?
03.01.2011 21:05:10
Kai
Hi Bernd,
danke für den Hinweis, ich habe jetzt ein Makro mit Private Sub Worksheet_Calculate() definiert, das beim Ändern des Autofilters aktiv wird. Soweit, so gut. Das ganze soll aber nur passieren, wenn bestimmte Spalten geändert werden, bei anderen soll nichts passieren. Bei Worksheet_Change gibt es Target, kann ich bei Calculate etwas ähnliches machen?
Gruß Kai
Anzeige
AW: Makro vor Änderung eines Autofilter durchführen?
04.01.2011 01:03:24
fcs
Hallo Kai,
das Calculate-Ereignis kennt kein Target-Objekt.
Der einfachere Weg dürfte in deinem Fall sein, mit dem Selection-Ereignis zu arbeiten.
In nachfolgendem Beispiel wird bei Selektion der Zellen in den Spalten A und D der in der Zeile mit den Spaltentiteln des Autofilters der Filterwert in den anderen Spalten ggf. auf (Alle) gesetzt.
Gruß
Franz
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iFilter As Long, iFilter2 As Long
On Error GoTo Beenden
If Target.Row = Me.AutoFilter.Range.Row And Target.Cells.Count = 1 Then
Application.EnableEvents = False
Select Case Target.Column
Case 1, 4
'Filter-Nummer der selektierten Spalte
iFilter = Target.Column - Me.AutoFilter.Range.Column + 1
'Filter in anderen Spalten ggf. auf (Alle) setzen
For iFilter2 = 1 To Me.AutoFilter.Filters.Count
If iFilter  iFilter2 Then
If Me.AutoFilter.Filters(iFilter2).On = True Then
Me.AutoFilter.Range.AutoFilter Field:=iFilter2
End If
End If
Next
Case Else
'do nothing
End Select
Beenden:
Application.EnableEvents = True
End If
End Sub

Anzeige
AW: Makro vor Änderung eines Autofilter durchführen?
04.01.2011 08:45:44
Kai
Hi Franz,
danke, hat mir weitergeholfen! Eigentlich wollte ich das ganze bei Änderung des Filters aktivieren, aber Deine Lösung funktioniert schon bei Klicken auf die Zelle, in der der Filter steht. Das ist sogar noch einfacher!
Gruß Kai

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige