Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Anzeige für gesetzte Filter

Anzeige für gesetzte Filter
08.09.2016 08:18:54
klaus
Hallo zusammen,
habe eine Frage zu den Autofiltern. Habe schon mal ein wenig gestöbert, kann aber zu meinem spezifischen Problem noch keine Antwort finden...
Sachlage: wir arbeiten in einer vernetzten Tabelle gemeinsam. Es werden Autofilter gesetzt und - natürlich ;-) - wird damit auch abgespeichert. Dummerweise werden aber auch Filter in Spalten gesetzt, die danach ausgeblendet werden. Da das positiverweise nur selten passiert, ist die Gefahr negativerweise groß, daß es übersehen wird, WENN es dann doch mal passiert!
Meine Frage: kann ich in einer der Spalten, die nie ausgeblendet werden, einen Marker setzen (Zelle farbig formatiert, Meldung ausgeben o.ä.), der mir anzeigt, daß in einer der ausgeblendeten Spalten ein Filter aktiv ist?!
Bin im voraus dankbar!!!
Viele Grüße
Klaus
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzeige für gesetzte Filter
08.09.2016 08:55:10
UweD
Hallo Klaus
Über ein Event könnte man das permanent abfragen.
z.B. über Worksheet_SelectionChange, oder Worksheet_Activate
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If FilterMode Then
Range("A1").Interior.Color = RGB(255, 0, 0)
Else
Range("A1").Interior.Color = xlNone
End If
End Sub
oder aber du setzt beim aktivieren der Tabelle alle Filter zurück.
Private Sub Worksheet_Activate()
If FilterMode Then ShowAllData ' Autofilter alle
End Sub
Gruß UweD
Anzeige
AW: Anzeige für gesetzte Filter
08.09.2016 09:19:45
klaus
Hallo Uwe,
das liest sich gut!
Ich würde das gern anzeigen lassen, wenn ich das richtig lese, kommt dann die erste Lösung in Frage.
Du sprichst von permanenter Abfrage, platziere ich das ganze dann wie ein Makro?
Besten Dank und Gruß
Klaus
AW: Anzeige für gesetzte Filter
08.09.2016 11:52:16
UweD
hi
solche Makros werden in der "Codebeich des Tabellenblattes" abgespeichert,
nicht in einem "normalen Modul"
das ginge so...
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- dort den Code reinkopieren
Gruß UweD
Über Rückmeldungen würde ich mich freuen
Anzeige
AW: Anzeige für gesetzte Filter
08.09.2016 08:56:37
EtoPHG
Hallo Klaus,
Siehe Überprüfung ob eine Liste gefiltert ist.
Zudem werden die Zeilenummern in XL standardmässig blau, statt schwarz dargestellt, was einem aufmerksamen Benuzter genügend Hinweis geben sollte. Aber so sind die neuen Zeiten: Noch farbiger, bunter und den Anwender vom Denken und Handeln entbinden... ;-)
Gruess Hansueli
Anzeige
AW: Anzeige für gesetzte Filter
08.09.2016 09:17:16
klaus
Hallo Hansueli,
besten Dank für den Hinweis.
Und dann gibt es in diesen Zeiten ja auch noch die Benutzer, die
a) überhaupt keine Hemmungen haben, anderen Unaufmerksamkeit anzudichten
b) diesen unaufmerksamen Benutzern ihre eigene Schwarz/Weiß-Sicht mit auf den Weg geben wollen und
c) naives und interessiertes Nachfragen mit Denk- und Handlungsunwillen verwechseln
Schreckliche neue Zeiten, stimmt! ;-)
Gruß
Klaus
Anzeige
AW: Anzeige für gesetzte Filter
08.09.2016 11:54:01
klaus
wollte noch präzisieren:
Ich habe 27 Spalten (A-AA) und es wäre schön, der Autofilter, falls es wichtig ist, sitzt in Zeile 8 und es wäre schön, wenn bspw. die Zelle J7 rot markiert würde, wenn in einer oder mehrere der genannten (teilweise ausgeblendeten) Spalten der Autofilter eingeschaltet ist.
Habe Deine Lösung probiert einzubauen, Uwe, aber wahrscheinlich bin ich dazu einfach noch zu laienhaft unterwegs ;-)
Anzeige
AW: Anzeige für gesetzte Filter
08.09.2016 14:52:47
UweD
Hallo nochmal
Annahmen.
- Du befindest dich in Tabellenblatt2
- mache einen Rechstclick auf den Tabellenblattreiter von Tabelle2
- Code anzeigen
- Diesen Code dort reinkopieren

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If FilterMode Then
Range("J7").Interior.Color = RGB(255, 0, 0)
Else
Range("J7").Interior.Color = xlNone
End If
End Sub
sieht dann so aus.
Userbild
wenn du nun in Tabelle2 eine andere Zelle markierst, wird geprüft, ob irgendeine Spalte gefiltert ist
Dann wird J7 rot gefärbt.
Gruß UweD
Über Rückmeldungen würde ich mich freuen
Anzeige
AW: Anzeige für gesetzte Filter
09.09.2016 08:49:59
klaus
Super, Uwe!!
Funktioniert, besten Dank!!!
Gruß
Klaus
Danke für die Rückmeldung owT
09.09.2016 09:33:39
UweD
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Aktive Filter in Excel anzeigen und verwalten


Schritt-für-Schritt-Anleitung

Um aktive Filter in Excel anzuzeigen, kannst du VBA verwenden. Diese Anleitung zeigt dir, wie du einen Marker in einer Zelle setzen kannst, wenn ein Filter aktiv ist:

  1. Öffne die Excel-Datei, in der du das Skript verwenden möchtest.

  2. Rechtsklicke auf den Tab des Arbeitsblatts, in dem du die Anzeige für gesetzte Filter implementieren möchtest.

  3. Wähle "Code anzeigen" aus dem Kontextmenü.

  4. Füge den folgenden VBA-Code ein:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       If FilterMode Then
           Range("J7").Interior.Color = RGB(255, 0, 0) ' Zelle J7 rot markieren
       Else
           Range("J7").Interior.Color = xlNone ' Zelle zurücksetzen
       End If
    End Sub
  5. Speichere die Datei als Excel-Arbeitsmappe mit Makros (*.xlsm).

  6. Teste die Funktion, indem du zwischen den Zellen wechselst und einen Filter aktivierst. Die Zelle J7 sollte rot eingefärbt werden, wenn ein Filter aktiv ist.


Häufige Fehler und Lösungen

  • Fehler: Der Code wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass der Code im "Codebereich des Tabellenblattes" und nicht in einem normalen Modul gespeichert ist.
  • Fehler: Die Zelle wird nicht rot markiert.

    • Lösung: Überprüfe, ob du das richtige Arbeitsblatt ausgewählt hast und das Filter tatsächlich aktiv ist.

Alternative Methoden

Es gibt verschiedene Möglichkeiten, um die Excel aktiven Filter anzuzeigen:

  • Verwendung von Formeln: Du kannst auch die Funktion SUBTOTAL verwenden, um zu überprüfen, ob Zeilen gefiltert sind.
  • Bedingte Formatierung: Setze eine bedingte Formatierung, die die Zelle einfärbt, wenn ein Filter aktiv ist.

Praktische Beispiele

Hier sind einige Anwendungsbeispiele für die Anzeige aktiver Filter:

  1. Anzeige der Filterauswahl in einer Zelle:

    • Du kannst den aktiven Filtertext in eine Zelle schreiben, um die Excel Filterauswahl in Zelle anzeigen zu lassen.
    Range("K7").Value = ActiveSheet.FilterMode
  2. Permanent Filter einblenden:

    • Wenn du sicherstellen möchtest, dass alle Filter dauerhaft sichtbar sind, kannst du einen Button einfügen, der alle Filter zurücksetzt.
    Sub ResetFilters()
       If ActiveSheet.FilterMode Then
           ActiveSheet.ShowAllData
       End If
    End Sub

Tipps für Profis

  • Verwende benutzerdefinierte VBA-Funktionen, um flexiblere Bedingungen zu schaffen, wenn du mit Excel VBA Autofilter arbeitest.
  • Dokumentiere deinen Code gut, damit andere Anwender oder du selbst später nachvollziehen kannst, wie die Logik funktioniert.
  • Teste deine Makros regelmäßig, um sicherzustellen, dass sie in verschiedenen Szenarien funktionieren.

FAQ: Häufige Fragen

1. Wie kann ich die Filter in Excel dauerhaft anzeigen? Um die Filter dauerhaft anzuzeigen, kannst du ein Makro verwenden, das alle Filter zurücksetzt, wenn das Arbeitsblatt aktiviert wird.

2. Was passiert, wenn ich die Datei ohne Makros speichere? Wenn du die Datei im .xlsx-Format speicherst, werden alle Makros entfernt. Du musst die Datei als .xlsm speichern, um die Makros zu behalten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige