Aplicar un mismo filtro a múltiples tablas en diferentes hojas

Gracias a quienes se toman la molestia en compartir sus conocimientos. Va mi pregunta: Si tengo 2 tablas en distintas hojas y ambas tienen una columna en común, ¿puedo filtrar por esa columna y que aplique a ambas tablas? ¿Se logra esto con macro? De ser así, ¿Podrían escribir la rutina?

1 respuesta

Respuesta
1

Te anexo la macro. Cambia en la macro lo siguiente:

"datos" y "db" por los nombres de tus hojas

"ana" por la palabra o dato a filtrar

Donde dice Field:=1, el número 1 corresponde a la columna "A", cambia el número por el número de columna que quieres filtrar, por ejemplo, el 2 para la columna "B", el 3 para "C", etc.

Sub ordenar()
'Por.Dante Amor
    Set h1 = Sheets("datos")
    Set h2 = Sheets("bd")
    dato = "ana"
    h1.UsedRange.AutoFilter Field:=1, Criteria1:=dato
    h2.UsedRange.AutoFilter Field:=1, Criteria1:=dato
End Sub

Sigue las Instrucciones para ejecutar la macro

  1. Abre tu archivo de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Para ejecutarla presiona F5

Saludos. Dante Amor

No olvides valorar la respuesta.

Que tal Dante,

Gracias por el apoyo. No logro que funcione de esa manera. ¿No puedo hacer referencia a mis tablas en lugar de las hojas? ¿Cuál sería la rutina para quitar el filtro de todas las tablas una vez que tenga funcionando la anterior? Me manda un error 1004 Error en el método AutoFilter de la clase Range. 
Saludos,

¿Te refieres que insertaste una tabla?

El código es diferente.

Para realizar la macro específicamente con tus datos, puedes poner todo el detalle de tu información.

Nombres de hojas, en qué rango tienes cada tabla, en qué fila los encabezados, en fila empiezan los datos, en cuáles columnas, cómo se llaman las tablas, por cuál columna vas a filtrar, con qué dato vas a filtrar, en dónde está ese dato, en fin todo el detalle que puedas proporcionarme.

Claro que sí
Tengo las hojas de trabajo "Transporte" y "Plazo"

Mis tablas se llaman Tabla 2 y Tabla 3. Ambas tienen fila de encabezados en A2 y primer dato en A3. Las 2 tablas tienen el mismo número de filas pero no de columnas, sin embargo, las filas son variables por otro método que tengo con el que lleno las tablas. Me gustaría filtrar por la columna 1 (llamada homoclave) con un dato que dejo en la celda A2. Las demás columnas son irrelevantes pues son distintas en las tablas y solo me gustaría que pudiera filtrar y quitar el filtro con una rutina.
Saludos,

Estoy confundido, si en los encabezados están en la celda A2, ¿en dónde vas a dejar el dato? ¿Dices qué ne la celda A2?

De cualquier forma dime hasta cuál columna llega la tabla2 y la tabla3

Te faltó decirme en qué hoja está cada tabla.

Disculpa, error de dedo, el dato está en la A2 y los encabezados comienzan en la A3 con el primer dato en la A4. La tabla2 está en la "Hoja2" y la tabla3 está en la "Hoja3". La tabla 2 tiene columnas A-H, mientras que la tabla3 va A-N

Gracias Dante

Pon lo siguiente en un módulo

Sub filtrar()
'Por.Dante Amor
    Set h2 = Sheets("Hoja2")
    Set h3 = Sheets("Hoja3")
    h2.ListObjects("Tabla2").Range.AutoFilter Field:=1, Criteria1:=h2.[A2]
    h3.ListObjects("Tabla3").Range.AutoFilter Field:=1, Criteria1:=h2.[A2]
End Sub

Si quieres un botón para ejecutar la macro.

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: filtrar
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

Saludos. Dante Amor

No olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas