Ejemplo
Crear una tabla dinámica básica usando los datos del archivo TablaDin01.xls. Suponer que las hojas son datos copiados desde otros libros provenientes de la zona Norte, Oeste y Este.
Solución
Al abrir este archivo veremos que los datos se encuentran en tres hojas, cada una de las cuales contiene las ventas en las zonas Norte, Oeste y Sur.
El objetivo es disponer de una nueva hoja que contenga los datos de todas las zonas y a partir de ella, se pueda crear la tabla dinámica básica. Llamamos tabla dinámica básica pues la macro creará una con los mínimos elementos; a partir de la cual se puede añadir o remover los campos de las áreas respectivas.
La macro se llamará TablaDinamica01. El método abreviado, <CTRL>+<m>.
Secuencia de acciones que debe hacerse al grabar la macro:
Zona |
||
Tienda |
||
Forma de Pago |
Suma de Monto |
|
Otra de las herramientas que podemos automatizar mediante el uso de macros es la de Filtro Avanzado.
La potencia de la macro está en el hecho de modificar los criterios de filtrado no tanto en la ejecución de la macro con los valores iniciales, que de por sí serían bastante rígidos.
Habiendo establecido un valor para el filtrado, podemos modificar dicho valor o agregar otros (en la misma fila, no más columnas). Puesto que la salida será siempre a partir de la celda ingresada durante la grabación de la macro y, estando ocupado dicho rango con una ejecución anterior, podemos grabar nueva macro que permita borrar la cabecera en la salida y volver ejecutar la macro.
Ejemplo 1
Grabar una macro para extraer todos los pedidos atendidos un determinado empleado. Use el archivo Pedidos.xls.
Procedimiento:
Grabemos otra macro llamada MacBorrar01; método abreviado: <CTRL> + <b> que seleccione el rango A10:L10 y lo borre; luego detener grabación.
Ahora ejecute la macro MacFiltro01 usando el método abreviado.
Cambie el nombre del empleado por otro de la hoja Pedidos y antes de volver a ejecutar la macro, borre la cabecera de la salida, ejecutando le macro MacBorrar01.
Ahora agregue más criterios de filtrado en la misma línea para reducir la lista de salida; antes de volver a ejecutar la macro debe borrar la salida.
Observación 1
La macro permite extraer los pedidos atendidos por más de un empleado?. No. Si se quisiera que extraiga los pedidos atendidos por dos empleados, deberíamos colocar los nombres uno debajo de otro. Por ejemplo: En C2 colocar Davolio, Nancy y en C3 colocar Buchanan, Steven. El listado obtenido sería los pedidos atendidos por Davolio o Buchanan. Esto no hace la macro pues ella sólo lee la primera fila de criterios. Si sólo pudiéramos variar el rango de A1:L2 al rango A1:L3, habríamos resuelto el problema. Esto implica modificar la macro.
Ejemplo 2
Qué ocurre si después de tener la lista de los pedidos atendidos por un determinado empleado, quisiéramos saber el detalle del pedido de un determinado cliente? Esto significa trabajar con la hoja Detalle de Pedidos.
La macro que grabaremos en este ejemplo será ejecutado después de ejecutar la macro del ejemplo anterior.
Procedimiento:
• Ejecutar la macro MacFiltro01
• Copiar el Nro. de pedido (Id. de pedido) de alguno de los pedidos obtenidos al ejecutar la macro anterior hacia la celda A2.
• Iniciar la grabación de una nueva macro. Nombre: MacFiltro02; método abreviado: <CTRL> + <j>.
• En O8 digitar: =BUSCARV(A2,Pedidos,2,0) para extraer nombre de cliente
• En P8 digitar: =BUSCARV(A2,Pedidos,4,0) para extraer fecha de pedido
• Usar <Datos> - <Filtro> - <Filtro avanzado>: Copiar a otro lugar; Rango de lista: Detalle; rango de criterios: A1:A2; rango de salida: N10 - <Aceptar>.
Grabar la macro MacBorrar02 que sólo borre el rango N10:S10.
Ejecutar la macro.
Si se desea el detalle de otro cliente, será suficiente copiar o digitar el Id de pedido del cliente deseado de la salida de la MacFiltro01 y ejecutar la macro MacFiltro02 borrando previamente la salida con MacBorrar02.
Síguenos en: Facebook Sobre aulaClic Política de Cookies