Wie überprüfe ich, ob ein Filter in einem Arbeitsblatt in Excel angewendet wird?
Wenn ein Arbeitsblatt eine große Datenmenge enthält, ist es möglich zu überprüfen, ob die Filterung in einer bestimmten Spalte oder im gesamten Arbeitsblatt angewendet wird, ohne die Spalten einzeln manuell zu überprüfen? In diesem Tutorial zeigen wir Ihnen zwei VBA-Codes, um diese Aufgabe zu bewältigen.
Überprüfen Sie, ob in einer bestimmten Spalte ein Filter angewendet wird
Überprüfen Sie, ob ein Filter in einem Arbeitsblatt angewendet wird
Überprüfen Sie, ob in einer bestimmten Spalte ein Filter angewendet wird
Um zu überprüfen, ob eine bestimmte Spalte gefiltert wird, kann Ihnen der VBA-Code in diesem Abschnitt einen Gefallen tun.
1. Öffnen Sie das Arbeitsblatt, das Sie überprüfen möchten, ob ein Filter in einer bestimmten Spalte angewendet wird.
2. Drücken Sie die Taste Andere + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.
3. In dem Microsoft Visual Basic für Applikationen Klicken Sie im Fenster Insert > Modul, und kopieren Sie dann den folgenden VBA-Code in das Fenster Modul (Code).
VBA-Code: Prüfen, ob eine angegebene Spalte gefiltert wird
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: Im VBA-Code die Zahl 3 in dieser Zeile „xSpalte = 3“ steht für die dritte Spalte im aktuellen Arbeitsblatt. Wenn Sie überprüfen möchten, ob ein Filter angewendet wird Spalte E, Nummer ändern 3 zu 5.
4. Drücken Sie die Taste F5 Schlüssel zum Ausführen des Codes.
Wenn die angegebene Spalte gefiltert wird, wird das folgende Dialogfeld angezeigt.
Andernfalls erhalten Sie das folgende Dialogfeld.
Überprüfen Sie, ob ein Filter in einem Arbeitsblatt angewendet wird
Wenn Sie überprüfen möchten, ob ein Filter in einem Arbeitsblatt angewendet wird, versuchen Sie es mit dem VBA-Code in diesem Abschnitt.
1. Öffnen Sie das Arbeitsblatt, das Sie überprüfen möchten, ob ein Filter angewendet wird.
2. Drücken Sie die Taste Andere + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.
3. In dem Microsoft Visual Basic für Applikationen Klicken Sie im Fenster Insert > Modul, und kopieren Sie dann den folgenden VBA-Code in die Modul (Code) Fenster.
VBA-Code: Überprüfen Sie, ob ein Filter in einem Arbeitsblatt angewendet wird
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. Dann drücken F5 Schlüssel zum Ausführen dieses Codes, wenn das Arbeitsblatt Filter enthält, erhalten Sie ein Dialogfeld wie folgt.
Andernfalls erhalten Sie das folgende Dialogfeld.
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...
Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!