¿Cómo verificar si se aplica un filtro en una hoja de cálculo en Excel?
Para una hoja de trabajo que contiene una gran cantidad de datos, ¿es posible verificar si el filtrado se aplica en una columna específica o en toda la hoja de trabajo sin verificar manualmente las columnas una por una? En este tutorial, le mostraremos dos códigos VBA para manejar esta tarea.
Comprobar si se aplica un filtro en una determinada columna
Comprobar si se aplica un filtro en una hoja de trabajo
Comprobar si se aplica un filtro en una determinada columna
Para verificar si una determinada columna está filtrada, el código VBA en esta sección puede hacerte un favor.
1. Abra la hoja de trabajo en la que desea verificar si se aplica un filtro en una columna determinada.
2. presione el otro + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.
3. En el Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Móduloy luego copie el siguiente código VBA en la ventana Módulo (Código).
Código de VBA: compruebe si una columna específica está filtrada
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: En el código VBA, el número 3 en esta linea”xColumna = 3” representa la tercera columna en la hoja de trabajo actual. Si desea comprobar si se aplica un filtro en columna E, cambia el número 3 a 5.
4. presione el F5 clave para ejecutar el código.
Si se filtra la columna especificada, aparecerá el siguiente cuadro de diálogo.
De lo contrario, obtendrá el siguiente cuadro de diálogo.
Comprobar si se aplica un filtro en una hoja de trabajo
Si desea verificar si se aplica un filtro en una hoja de trabajo, pruebe el código VBA en esta sección.
1. Abra la hoja de trabajo que desea verificar si se aplica un filtro.
2. presione el otro + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.
3. En el Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Móduloy luego copie el siguiente código VBA en el Módulo (Código) ventana.
Código de VBA: verifique si se aplica un filtro en una hoja de trabajo
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. Entonces presione F5 clave para ejecutar este código, si la hoja de trabajo contiene filtrado, obtendrá un cuadro de diálogo de la siguiente manera.
De lo contrario, obtendrá el siguiente cuadro de diálogo.
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!