Quitar y poner autofiltros en un varias tabla de una misma hoja

La siguiente macro funciona para 1 única tabla en una misma hoja. Ahora tengo varias tablas independientes dentro de una misma hoja, pero sólo me funciona para una de ellas.

¿Alguien sabe cómo adecuar el código para que funcione con varias tablas?

Llamo la función cuantas tablas tenga en la hoja pero parece ser que sólo funciona para la primera tabla que encuentra de izquierda a derecha.

Como argumentos de la función, le envío el nombre de la hoja y el nombre de cada tabla.

Muchas gracias.

Function ValidarAutofiltro_Tabla(Hoja As String, Tabla As String)
On Error Resume Next
Sheets(Hoja).Select
'Si ninguna columna de la tabla tiene filtro, se lo pone.
If Sheets(Hoja).AutoFilter.Filters.Count = 0 Then
Sheets(Hoja).Range(Tabla & "[[#Headers]]").AutoFilter
Else 'Si la tabla ya está previamente filtrada, muestra todos los datos.
Sheets(Hoja).ShowAllData
End If
End Function

1 Respuesta

Respuesta
1

Te anexo la macro actualizada

Function ValidarAutofiltro_Tabla(Hoja As String, Tabla As String)
    On Error Resume Next
    Sheets(Hoja).Select
    'Si ninguna columna de la tabla tiene filtro, se lo pone.
    If Sheets(Hoja).AutoFilter.Filters.Count = 0 Then
        Sheets(Hoja).Range(Tabla & "[[#Headers]]").AutoFilter
    Else 'Si la tabla ya está previamente filtrada, muestra todos los datos.
        Sheets(Hoja).ListObjects(Tabla).Range.Select
        Sheets(Hoja).ShowAllData
    End If
End Function

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

¡Gracias! Hola Dante. Gusto en volver a saber de ti.

Pensé que ya no colaborabas en este sitio.

Mis respetos caballero. Funcionó perfecto con la línea que le agregaste.

Muchas gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas