Excel, Aanpassen Autofilter
|
Tip & Truc, aanpassen Autofilter binnen Excel.
Autofilter is een krachtig hulpmiddel binnen Excel om in een lijst met gegevens te zoeken. Wel wordt er binnen Excel bij de filtering uitgegaan van een aaneengesloten lijst. Wil je echter ten behoeve van de layout tussen de te filteren kolommen een extra dummykolom opnemen dan loop je tegen een probleem op. Ook de dummykolommen krijgen een dropdownpijl. Dit is iets wat je niet zou willen. Voor de oplossing is een macro vereist en enige kennis van VBA gewenst. Stel in een onderhanden project komt de volgende situatie voor (zie afbeelding hieronder)
Bij het definiëren van een autofilter in het bereik C13:G13, wordt door Autofilter ook de lege dummykolommen verondersteld kolommen te zijn waarop gezocht moet kunnen worden. Dit kan op de volgende manier worden vermeden:
Maak in VBA de volgende macro: (N.B. Pas voor het gebruik in eigen situatie het bereik aan !)
Public Sub VerBergDropDownAutoFilter()
' Verbergt de dropdownpijlen voor autofilter.
' Let bij eigen gebruik wel op het bereik waarin de autofilter gedefinieerd is
Dim c As Range
Dim i As Integer
Dim rng As Range
Set rng = Range("C13:G13")
i = rng.Cells(1, 1).Column - 1
For Each c In rng
Select Case c.Address
Case "$D$13", "$F$13"
c.AutoFilter Field:=c.Column - i, _
Visibledropdown:=False
Case Else
c.AutoFilter Field:=c.Column - i, _
Visibledropdown:=True
End Select
Next
End Sub
Na het uitvoeren van bovenstaande macro in Excel zag het scherm met gebruikmaking van AutoFilter er als volgt uit. De onnodige dropdownpijlen zijn verdwenen.
PS. Het aanzetten van Autofilter doe je - na het selecteren van een kolom bereik -
In Excel 2003 -> Data -> Filter - Autofilter
In Excel 2007 / 2010 -> Gegevens -> Filter
Het maken, bewerken en uitvoeren van een macro vindt je onder:
In Excel 2003 -> Extra -> Macro -> Macro's
In Excel 2007 / 2010 -> Ontwikkelaars -> Macro's
Heb je nog vragen, neem dan gerust contact met ons op.