Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
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
Filter - bedingte Formatierung (VBA)
07.09.2023 11:54:09
Erwin
Hallo Zusammen,

dadurch, dass ich viele breite Tabellen habe, musss ich immer genau nachsehen, wo ein Filter gesetzt ist oder nicht.

Im Netz habe ich eine Lösung gefunden, die ich gut finde; leider habe ich beim Aufruf der Internetadresse immer eine Fehlermeldung, sodass ich dort nicht nachfragen kann.

Mit der Funktion AF_KRIT wird der Filter farblich besser dargestellt und man erkennt sofort die gefilterten Spalten.
Allerdings ist es ein Problem, dass in der "Bedingten Formatierung" nur fix immer eine/zwei Zeilen fix enthalten sind.
Meine Tabellenüberschriften beginnen nicht immer in der gleichen Zeile, sodass die bedingte Formatierung immer manuell angepasst werden muss.
Mir schwebt eine Lösung über Button/InputBox vor, wo man die Zeile(n) der Überschrift(en) einfach markiert / auswählt und diese Variable dann automatisch für die Zeile(n) bei der Bedingten Formatierung benutzt wird.

Beispieldatei: https://www.herber.de/bbs/user/162707.xlsm

Kann hier bitte der Code angepasst werden?

Danke - Erwin

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filter - bedingte Formatierung (VBA)
07.09.2023 12:47:32
daniel
HI

der folgende Code erstellt die Bedingte Formatierung auf dem aktiven Blatt in den Zeilen, die du markiert hast für die Spalten mit Autofilter.
achtung, dieser Code ist länderspezifisch und funktioniert nur in deutschem Excel
für ein amerikantisches oder englisches Excel müsste man das ZS durch RC ersetzen.
Sub Makro1()

If ActiveSheet.AutoFilterMode Then
ActiveSheet.Cells.FormatConditions.Delete
With Intersect(Selection.EntireRow, ActiveSheet.AutoFilter.Range.EntireColumn)
With .FormatConditions.Add(Type:=xlExpression, Formula1:="=af_krit(ZS)")
.Interior.Color = 5296274
End With
End With
End If
End Sub

Für die Funktion af_krit ist es eigentlich unerheblich, welche Zeile die übergebene Zelle hat, hier wird nur die Spaltennummer verwendet.

Gruß Daniel
Anzeige
AW: Filter - bedingte Formatierung (VBA)
07.09.2023 13:15:11
Erwin
Hallo Daniel,

vielen Dank, dass du dich auch um dieses Anliegen kümmerst.

Ich habe deinen Code in die Beispieldatei eingefügt und ein wenig getestet. https://www.herber.de/bbs/user/162709.xlsm

Dabei habe ich das Beispiel mit ein paar Zeilen Überschriften angereichert und den Cursor irgendwie unter die letzte Zeile gesetllt.
Danach habe ich deinen Code ausgeführt; die Markierung wurde dann in die Zeile der Cursorposition gemacht, das stimmt leider nicht.
Brauche ich jetzt nur noch deinen Code oder auch die anderen beiden Codes?

Kannst du bitte noch einmal prüfen, was evtl. nicht passt.

Danke - Erwin
Anzeige
AW: Filter - bedingte Formatierung (VBA)
07.09.2023 13:24:25
daniel
"die Markierung wurde dann in die Zeile der Cursorposition gemacht, das stimmt leider nicht."

naja, das war aber dein Wunsch, so hattest du es beschireben:

"Mir schwebt eine Lösung über Button/InputBox vor, wo man die Zeile(n) der Überschrift(en) einfach markiert / auswählt und diese Variable dann automatisch für die Zeile(n) bei der Bedingten Formatierung benutzt wird."

und "markieren" ist im Prinzip die Cursorpostion.
Du hast genau da bekommen, was du beschrieben hast.
Ich kann leider nicht hellsehen und kann dir daher nur das geben, was du schreibst, aber nicht das was du eigenlich willst.

aber es steht dir frei, den Code entsprechend deinen Wünschen anzupassen.
Gruß Daniel
Anzeige
AW: Filter - bedingte Formatierung (VBA)
07.09.2023 13:30:39
daniel
du brauchst die Funktion auf jeden Fall.
dann brauchst du das Makro, dass die bedingte Formatierung einrichtet, falls du diese nicht von Hand erstellen willst.
das Calculate-Eventmakro brauchst du dann nicht mehr.
Gruß Daniel
AW: Filter - bedingte Formatierung (VBA)
07.09.2023 13:37:50
Erwin
Hi Daniel,

du hast ja soooo recht, natürlich funktioniert es so wie du es gemacht hast.
Ich dachte, ich müsste dann irgendwie die Zeile(n) noch gesondert markieren, aber wenn die Cursorposition ausreicht, um so besser.
Danke noch für den Hinweis wegen des ...Calculate... Makros.

Grüße - Erwin
AW: Filter - bedingte Formatierung (VBA)
07.09.2023 14:01:12
daniel
ja, ich erstelle das normalerweise so, wie man auch normal in Excel arbeitet:
den Bereich auswählen, der bearbeitet werden soll, dann das Makro starten und fertig.
man kann natürlich auch im Makro selbst den Zellbereich abfragen, wenn man das möchte, hierzu kann man dann
set rngBereich = Application.InputBox("Meldun", Type:=8)

verwenden, also eine Inputbox, in der man keinen Text, sondern einen Zellbereich eingeben kann.
Aber in der Regel ist es einfacher, die Zellen vorher zu markieren und dann diese zu bearbeiten.
Gruß Daniel
Anzeige
AW: Filter - bedingte Formatierung (VBA) Danke nochmal (owT)
07.09.2023 14:10:51
Erwin

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige