• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Gefilterde kolommen een kleur geven

Status
Niet open voor verdere reacties.

rickb1977

Gebruiker
Lid geworden
2 dec 2015
Berichten
53
Omdat ik vaak met excelbestanden werk met zeer veel rijen zou ik het handig vinden om kolommen waarbij ik een filter heb toegepast automatisch een kleur te geven. Dat mag de hele kolom zijn of alleen de kolomtitel.

Daardoor kan ik bij het scrollen sneller zien welke kolommen er gefilterd zijn. (ik vind dat 'trechtertje' niet altijd goed zichtbaar bij snel zoeken)

Is dat mogelijk en zo ja, hoe dan?

Alvast bedankt voor jullie reactie!
 
bv

Code:
Sub VenA()
  For Each flt In ActiveSheet.AutoFilter.Filters
    j = j + 1
    Cells(1, j).Interior.Color = IIf(flt.On, vbRed, xlNone)
  Next flt
End Sub
 
met voorwaardelijke opmaak zou het kunnen

met de formule die totaal aantal cellen telt in een kolom en het aantal zichtbare cellen.

Code:
=AANTALARG(C$3:C$10)>SUBTOTAAL(3;C$3:C$10)



Bekijk bijlage filterkolom met gekleurd.xlsx


Ik vertrouw ook niet op de trechtertjes, maar ik heb als extra middeltje op de werkbalk snelle toegang de filter functies ook aangezet zodat ik via de werkbalk snelle toegang ook kan zien dat er ergens een filter op staat.

Slicers zijn een ander hulpmiddel om snel te kunnen filteren én om te zien of filters actief zijn. bij slicers zie je sneller dat er een filter actief is.

gewoon even als extra opties
 
Beide bedankt voor het snelle antwoord.

@VenA: als ik een macro maak met deze code werkt het prima. Echter ik moet de macro telkens opnieuw uitvoeren om te zien wat de actuele filters zijn.
Is het mogelijk dit zo te maken dat de kleur al veranderd op het moment dat ik de filter toepas? Dus zonder de macro opnieuw uit te voeren?

@roeljongman: die slicers daar zal ik me in gaan verdiepen, daar heb ik nog niet eerder mee gewerkt.
Die formule voor voorwaardelijke opmaak werkt prima. Hoe kan ik deze op een gemakkelijke manier toepassen in een bestand met meerdere kolommen?
Kan ik daar een macro voor maken of is daar een betere manier voor?
 
Het kan wel, maar geen standaard event wordt er door getriggerd. Volgens mij is het ook niet nodig. Je hebt het alleen nodig als je even het spoor bijster bent en als je de macro koppelt aan een sneltoets dan gaat dat sneller dan vertragende code.

In de module van het betreffende blad.
Als er formules in staan.
Code:
Private Sub Worksheet_Calculate()
 If Not ActiveSheet.AutoFilterMode Then Exit Sub
 For Each flt In ActiveSheet.AutoFilter.Filters
    j = j + 1
    Cells(1, j).Interior.Color = IIf(flt.On, vbRed, xlNone)
  Next flt
End Sub

Of bij het selecteren van een willekeurige cel.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not ActiveSheet.AutoFilterMode Then Exit Sub
  For Each flt In ActiveSheet.AutoFilter.Filters
    j = j + 1
    Cells(1, j).Interior.Color = IIf(flt.On, vbRed, xlNone)
  Next flt
End Sub
 
Dank je wel hiervoor. Ik kan het met een sneltoets inderdaad ook prima oplossen.
Ik kan weer verder hobbyen met m'n bestanden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan