online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Vicewein vom 19.07.2019, 14:08 Options

Excel Autofilter

Ich verwende in einem bestimmten Excel-Dokument einen Autofilter. Wenn dieser gesetzt ist, wird der Auswahlpfeil des Filters im Überschriftsfeld blau (wenn keiner gesetzt ist, bleibt er schwarz)

Ich finde dieses blau allerdings nicht "ins Auge stechend" genug. Kann ich einen gesetzten Filter also irgendwie offensichtlicher erscheinen lassen (z.B. gelbe oder rote Hintergrundfarbe im Überschriftsfeld wenn ein Filter gesetzt wird)

Bitte um Hilfe.

Philipp


Antwort schreiben

Antwort 1 von coros vom 19.07.2019, 14:37 Options

Hallo Philipp,

nein, das Aussehen der Pfeile ist nicht änderbar. Aber man kann, wie Du ja auch angefragt hast, z.B. die Zelle in der Überschrift farblich ändern, deren Spalte gefiltert wird.

Das Script würde dann wie folgt aussehen:

[b]Option Explicit

Private Sub Worksheet_Activate()
'Beim Aktivieren des Blattes in Zelle A65536 die Formel
'=ZUFALLSZAHL() eintragen. Wird benötigt, weil ein Calculate
'Ereignis hervorgerufen werden muss um den Zustand des Autofilters
'zu ermitteln
Range("A65536").FormulaLocal = "=ZUFALLSZAHL()"
End Sub

Private Sub Worksheet_Calculate()
Dim i As Integer
'Alle Hintergrund- und Schriftfarben in Zeile 1 wieder zurücksetzen
With Rows(1)
.Interior.ColorIndex = xlNone
.Font.ColorIndex = 0
End With

'Schleife zum Finden, in welcher Spalte der Filter gesetzt wurde
For i = 1 To AutoFilter.Filters.Count
'Wenn der Autofilter in der Spalte, die in dem aktuelle
'Schleifendurchgang angesprochen wird, aktiv ist, dann...
If AutoFilter.Filters(i).On Then
'...Zellenhintergrund der 1. Zelle in der gefilterten Spalte in
'Grün und Schrift in weiß ändern
With Cells(1, i)
.Interior.ColorIndex = 3
.Font.ColorIndex = 2
End With
End If
Next
End Sub

Private Sub Worksheet_Deactivate()
'Beim Verlassen des Blattes, die Zelle A65536 leeren
Range("A65536").ClearContents
End Sub[/b]


Hier wird die Zelle in der 1. Zeile der Spalte, in der gefiltert wurde, farblich hervorgehoben, Beginnt der Bereich der gefiltert wurde in einer anderen Zeile dann überall im Script die Zahl 1 gegen die Zeilenzahl tauschen.

Ich hoffe, Du kommst klar.

Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 2 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

Bei Fragen melde Dich.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Vicewein vom 19.07.2019, 15:52 Options

passt perfekt

danke vielmals. Wieviel Arbeit ist das eigentlich für dich z.B. meine Frage jetzt zu beantworten??? Schreibst du den Code wie Buchstaben??? :-)

mfg PHilipp

Antwort 3 von coros vom 19.07.2019, 17:15 Options

Hallo Philipp,

der Aufwand ist nicht besonders groß. Man muss nur für den Moment die richtige Idee haben. Dann geht das recht schnell. Wenn man nur so eine halbe Idee hat, kann das schon etwas länger dauern, weil man sich eventuell im Kreis dreht.

Geschrieben wird so ein Script wie Brief. Nur eben in der Sprache Visual Basic for Application.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Ähnliche Themen

Excel Autofilter
Vicewein  19.07.2007 - 38 Hits - 1 Antwort

autofilter mit vba
SARP  12.08.2007 - 134 Hits - 2 Antworten

Autofilter hört nach ca 100 zeieln auf Warum?
Trudi  05.11.2007 - 121 Hits - 3 Antworten

excel vba filter reset
majoplinka  23.03.2008 - 142 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026