Hoe controleer ik of een filter is toegepast in een werkblad in Excel?
Als een werkblad een grote hoeveelheid gegevens bevat, is het dan mogelijk om te controleren of filtering wordt toegepast in een opgegeven kolom of in het hele werkblad zonder handmatig de kolommen één voor één te controleren? In deze zelfstudie laten we u twee VBA-codes zien om deze taak uit te voeren.
Controleer of er een filter is toegepast in een bepaalde kolom
Controleer of een filter is toegepast in een werkblad
Controleer of er een filter is toegepast in een bepaalde kolom
Om te controleren of een bepaalde kolom is gefilterd, kan de VBA-code in deze sectie u een plezier doen.
1. Open het werkblad waarvan u wilt controleren of er een filter is toegepast in een bepaalde kolom.
2. druk de anders + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.
3. In de Microsoft Visual Basic voor toepassingen venster klikt Invoegen > Moduleen kopieer vervolgens de volgende VBA-code in het venster Module (Code).
VBA-code: controleer of een opgegeven kolom is gefilterd
Sub IsFilter()
'Updated by Extendoffice 20221025
Dim xWSht As Worksheet
Dim xFNum As Integer
Dim xBol As Boolean
Dim xAF As AutoFilter
Dim xColumn As Integer
xColumn = 3 'Here the number 3 stands for the third column (column C) in the current worksheet
Set xWSht = Application.ActiveSheet
Set xAF = xWSht.AutoFilter
xBol = False
For xFNum = 1 To xAF.Filters.Count
If xAF.Filters(xFNum).On And xAF.Range(1, xFNum).Column = xColumn Then
xBol = True
End If
Next xFNum
If xBol Then
MsgBox "The specified column is filled"
Else
MsgBox "The specified column is not filled"
End If
End Sub
Note: In de VBA-code, het nummer 3 in deze lijn "xKolom = 3” staat voor de derde kolom in het huidige werkblad. Als u wilt controleren of er een filter is toegepast in kolom E, verander het nummer 3 naar 5.
4. druk de F5 sleutel om de code uit te voeren.
Als de opgegeven kolom is gefilterd, verschijnt het volgende dialoogvenster.
Anders krijgt u het volgende dialoogvenster.
Controleer of een filter is toegepast in een werkblad
Als u wilt controleren of een filter is toegepast in een werkblad, probeert u de VBA-code in deze sectie.
1. Open het werkblad waarvan u wilt controleren of er een filter is toegepast.
2. druk de anders + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.
3. In de Microsoft Visual Basic voor toepassingen venster klikt Invoegen > Moduleen kopieer vervolgens de volgende VBA-code in het Module (code) venster.
VBA-code: controleer of een filter is toegepast in een werkblad
Sub IsFilterInWorkSheet()
'Updated by Extendoffice 20221024
Dim xWSht As Worksheet
Dim xFNum As Integer
Dim xBol As Boolean
Dim xAF As AutoFilter
Dim xColumn As Integer
Set xWSht = Application.ActiveSheet
Set xAF = xWSht.AutoFilter
xBol = False
On Error Resume Next
For xFNum = 1 To xAF.Filters.Count
If xAF.Filters(xFNum).On Then
xBol = True
Exit For
End If
Next xFNum
If xBol Then
MsgBox "Filter is applied in the curren worksheet"
Else
MsgBox "Filter does not apply in the current worksheet"
End If
End Sub
4. Druk vervolgens op F5 toets om deze code uit te voeren, als het werkblad filtering bevat, krijgt u een dialoogvenster als volgt.
Anders krijgt u het volgende dialoogvenster.
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!