Macro para filtrar datos de una tabla dinámica

Necesito ayuda para generar una macro para filtrar datos de una tabla dinámica.
Tengo una tabla dinámica (hoja3) y una lista de codigos en una columna y en otra hoja (que no es la misma hoja con que se genero la tabla dinámica), hoja2.
La idea es que al hacer correr la macro, en la tabla dinámica (hoja3) se filtren solo los códigos de la hoja2 y presentes en la columna A2.

1 respuesta

Respuesta
1

La solución más simple que se me ocurre SIN macro es la siguiente:

En la base de datos de origen de la tabla dinámica añades una columna con un nombre por ejemplo "CLAVE". En esta pones una fórmula que detecte para cada código si este se encuentra en la Hoja 2. La fórmula que puedes utilizar es COINCIDIR, que devuelve un número si existe el código y un valor #N/A si no existe. Añadiendo la fórmula ESNOD nos dará "VERDADERO" si NO existe el código y "FALSO" si existe.

Añado imagen simplificada. En la barra de fórmulas puedes ver la fórmula propuesta que lógicamente tienes que adaptar.

Tras ello en la tabla dinámica sólo tienes que poner el campo "CLAVE" como campo de filtro de informe (es decir, arriba) y filtrar por "FALSO" para mostrar sólo los códigos que estén en la lista de la Hoja 2.

Si no te gusta que se lea "FALSO" pudes añadir una fórmula condicional SI y poner lo que prefieras.

Es una buena idea, muchas gracias!

Pero lo ideal era generar una macro para filtrar automáticamente.

Pero gracias otra vez!

En un momento dado, si mantienes la columna con la fórmula en la hoja de datos no tienes que volver a crearla cada vez cada vez que metes datos nuevos. Al actualizar la tabla dinámica el informe ya se va a filtrar automáticamente.

Claro lo que no sé es en qué circunstancias se encuentran tus datos de origen, si alguien te manda cada vez un fichero nuevo y no puedes hacerle incluir la columna o son datos importados de otro formato cada x tiempo. Una macro siempre se puede hacer pero obviemente tiene que estar muy adaptada a las circunstancias del caso concreto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas