Come verificare se un filtro è applicato in un foglio di lavoro in Excel?
Poiché un foglio di lavoro contiene una grande quantità di dati, è possibile verificare se il filtro viene applicato in una colonna specificata o nell'intero foglio di lavoro senza controllare manualmente le colonne una per una? In questo tutorial, ti mostreremo due codici VBA per gestire questa attività.
Controlla se un filtro è applicato in una determinata colonna
Controlla se un filtro è applicato in un foglio di lavoro
Controlla se un filtro è applicato in una determinata colonna
Per verificare se una determinata colonna è filtrata, il codice VBA in questa sezione può farti un favore.
1. Apri il foglio di lavoro che desideri verificare se un filtro è applicato in una determinata colonna.
2. premi il altro + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.
3. Nel Microsoft Visual Basic, Applications Edition finestra, fare clic inserire > Modulie quindi copiare il seguente codice VBA nella finestra Modulo (codice).
Codice VBA: controlla se una colonna specificata è filtrata
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:: Nel codice VBA, il numero 3 in questa riga”xColonna = 3" sta per la terza colonna nel foglio di lavoro corrente. Se vuoi verificare se è stato applicato un filtro colonna E, cambia il numero 3 a 5.
4. premi il F5 chiave per eseguire il codice.
Se la colonna specificata è filtrata, verrà visualizzata la seguente finestra di dialogo.
Altrimenti, otterrai la seguente finestra di dialogo.
Controlla se un filtro è applicato in un foglio di lavoro
Se vuoi verificare se un filtro è applicato in un foglio di lavoro, prova il codice VBA in questa sezione.
1. Apri il foglio di lavoro che desideri verificare se è applicato un filtro.
2. premi il altro + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.
3. Nel Microsoft Visual Basic, Applications Edition finestra, fare clic inserire > Modulie quindi copiare il seguente codice VBA nel file Modulo (codice) finestra.
Codice VBA: controlla se un filtro è applicato in un foglio di lavoro
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. Quindi, premere F5 chiave per eseguire questo codice, se il foglio di lavoro contiene filtri, verrà visualizzata una finestra di dialogo come segue.
Altrimenti, otterrai la seguente finestra di dialogo.
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!