Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Exa Mod5 2007 - 2010 v1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 9

Excel Avanzado

Mdulo 5 Creacin de Tablas Dinmicas con VBA


Excel 2007-2010

Pontificia Universidad Catlica del Per

Fernando Santos Fernndez

Tema 1: Creacin de Tablas Dinmicas

1.1 Revisin de la tabla dinmica a generar


Como es conocido, la importancia de las tablas dinmicas radica en poder realizar
resmenes de los datos, y tener una visin de stos en forma abreviada.
A fin de poder emplear las tablas dinmicas, es necesario tener un conocimiento
previo de los datos a emplear de forma que cuando se comience a crear la tabla
dinmica se tenga una idea del contenido que se desea obtener.
Descargue de la plataforma del curso el archivo TablaDinmica.xlsm, examnelo y
encontrar que est compuesto de dos hojas Inventario y Resultado, en la hoja
Resultado se encuentra una tabla dinmica previamente generada.

Como puede observar, los datos se encuentran resumidos, cabe precisar que todos
los datos empleados son datos de prueba, disponibles con la nica finalidad de
presentar el funcionamiento del ejercicio.
En la Hoja Inventario se encuentran los datos a emplear para la creacin de la tabla
dinmica, describiremos en qu consisten a fin de comprender el contenido de la tabla
dinmica mostrada.

Tienda: tiene un cdigo que puede usarse para cada tienda que posea el negocio.
CodSublinea: es un cdigo empleado para la jerarqua de los productos, este cdigo
corresponde a un conjunto de productos que pueden estar disponibles en una tienda.

INFOPUC

Excel Avanzado

Nombre: es el nombre correspondiente al CodSublinea, es decir, es el nombre del


conjunto de productos.
SUBLINEA: es la combinacin del CodSublinea con el Nombre ubicados en las
columnas B y C respectivamente.
SKU: Stock Keeping Unit, es un cdigo como por ejemplo 10220862 para identificar
a un producto en particular como por ejemplo Vinagre Blanco ABC, que viene en
presentacin de 500 ml.
DESC_SKU: corresponde al nombre completo del producto.

El archivo contiene la informacin correspondiente al Inventario de productos


disponibles para la venta de una tienda, a las unidades contadas las llamaremos
ON_HAND_FIS, mientras que a la cantidad de ejemplares que el sistema seala para
el mismo producto, como ON_HAND_SIS. Naturalmente, estas cantidades pueden ser
diferentes entre s por varios motivos, la intencin del inventario ser analizar las
diferencias existentes a fin de procurar resolver los casos encontrados.
Podemos encontrar otros campos como: COSTO_INV, el cual contiene el costo
unitario del producto y que multiplicado por las cantidades previamente sealadas dan
origen a COSTO_INV_FIS y COSTO_INV_SIS. De forma similar se trabaja con el
precio unitario PRECIO_INV, el cual da origen a PRECIO_INV_FIS y
PRECIO_INV_SIS.

1.2 Macro para la creacin de la tabla dinmica


1. Debemos proceder a examinar el cdigo empleado desde el editor de Visual Basic,
en este encontraremos la macro CrearTabla y tiene como finalidad la creacin de
la tabla dinmica.
2. La macro comienza con la declaracin de las variables a ser empleadas en el
programa, en este caso se emplea WSD1 y WSD2 del tipo Worksheet, es decir
que estas representarn a las hojas que se emplearn.
3. Precisamente la variable WSD1 es la primera en ser definida, asignndole la hoja
en la que se encontrar la tabla a generar, tomando en cuenta que la tabla
dinmica pudo haberse generado previamente, ser necesario proceder a eliminar
las tablas dinmicas que se hayan creado antes en la misma hoja, lo cual se logra
con la estructura FOR.

Pontificia Universidad Catlica del Per

Fernando Santos Fernndez

1
2

cabe precisar que en lugar de emplear el mtodo Delete del TableRange2 se puede
utilizar el mtodo Clear del mismo TableRange2.
Luego, es definida WSD2 en la hoja que contiene los datos a ser empleados, en este
caso la hoja Inventario.
Uno de los primeros pasos que se tiene que realizar al crear una tabla dinmica de
forma usual es definir el rea que contiene todos los datos a ser empleados.

En el cdigo mostrado se asigna la hoja Inventario a WSD2, luego, en la siguiente


lnea se calcula la ltima fila en uso, la cual es asignada a la variable FinalRow.
Rows.Count devuelve el nmero correspondiente a la ltima fila disponible en el Excel,
en el caso de Excel 2003 es 65236, y en el caso de Excel 2007 y 2010, es 1048576.
Cells recibe dos parmetros, el primero corresponde a una fila y el segundo a una
columna, en el ejemplo mostrado se usa la columna se usa 1, pues se buscar
identificar cual es la ltima fila en uso basado en la columna 1.
End(xlUp) equivale a usar las teclas de acceso Ctrl+Flecha Arriba, con lo que la
celda activa se situar en la ltima celda en uso de la columna 1, luego, con el
comando Row, se obtiene el nmero de fila correspondiente a la celda activa.
Resize (FinalRow,14), sirve para seleccionar un rango de celdas desde A1 hasta la
cantidad de filas definidas en el primer parmetro con FinalRow, y la cantidad de
columnas indicadas en el segundo parmetro, en este caso 14.

INFOPUC

Excel Avanzado

El programa selecciona la hoja correspondiente a los datos y se define la variable


PTCache como valor intermedio necesario para la creacin de la tabla dinmica.

Con este dato intermedio se procede a la creacin de la tabla dinmica usando el


comando CreatePivotTable.
La tabla dinmica tiene una combinacin de colores la cual es definida con comando
PT.Format xlReport6.

Posteriormente, con el comando ManualUpdate = True se define que la tabla


dinmica solo ser actualizada de forma manual, a solicitud del usuario.
En una tabla dinmica existen cuatro zonas a definir:

El filtro de informe (llamado pginas en Excel 2003).


Rtulos de columna (Excel 2007) o Etiquetas de columna (Excel 2010).
Rtulos de fila (en Excel 2007) o Etiquetas de fila (en Excel 2010).
Zona correspondiente a los valores (Excel 2007-2010).

2007

2010

Las tres primeras zonas se pueden definir con el comando mostrado en la siguiente
imagen:

Pontificia Universidad Catlica del Per

Fernando Santos Fernndez

En este ejemplo solo se usan Etiquetas de fila, las cuales se definen con el comando
Rowfields, en el caso requiera los filtros de informe se puede usar PageFields, y para
las columnas puede usar ColumnFields.
Luego se debe definir la zona correspondiente a los valores, sin embargo, para ello es
necesario brindar varios detalles para cada campo a ser empleado en esta zona,
usaremos la estructura With tal como se muestra a continuacin:

Con cada estructura With se agrega un campo en la zona de valores de la tabla


dinmica.

Luego se procede a restablecer la actualizacin manual (ManualUpdate) a falso y se


salta a la pgina Resultado en la que se encuentra la tabla dinmica generada.

INFOPUC

Excel Avanzado

Tema 2: Revisin de resultados

2.1 Ventajas de emplear tablas dinmicas con macros

La tabla dinmica generada contiene datos agrupados, como por ejemplo, la suma de
cantidades que fsicamente existen en el inventario (cantidad fsica), las unidades que
el sistema seala que existe (ON_HAND_SIS).
Este agrupamiento permite identificar las diferencias existentes en cada agrupamiento
presentado.
La ventaja que encontramos en la generacin de la tabla dinmica de la forma descrita
radica en que:

Esta se generar siempre de la misma forma.


Toma todos los datos sin que se tenga que repetir la seleccin de datos.
El formato a emplear y orden de la presentacin siempre es el mismo.
Se eliminan las tablas dinmicas creadas previamente a fin de que la nueva
tabla sea creada.

Como es previsible, si la tabla a generar se realizar por nica vez, no sera relevante
crear una tabla dinmica con macros. Es decir, cuanto mayor sea la frecuencia con la
que tengamos que crear la misma tabla dinmica, mayor ser la utilidad de crearla con
una macro similar a la mostrada.

Pontificia Universidad Catlica del Per

Fernando Santos Fernndez

Tema 3: Ejercicios sugeridos


3.1 Cambios a realizar en el cdigo empleado
A fin de comprobar el aprendizaje, realice los siguientes cambios y asegrese que la
generacin de la tabla dinmica pueda seguir realizndose.
Agregue una lnea tal como se muestra en la siguiente imagen y realice los cambios
necesarios para que el cdigo pueda continuar funcionando.

Agregue una columna (sobre la versin original) y realice los cambios necesarios para
que el programa pueda funcionar.

Sobre la versin original elimine la columna nombre y modifique la macro para que
pueda funcionar.

INFOPUC

Excel Avanzado

Tomando como base la versin original modifique algunos de los cdigos de tienda con una
nueva tienda, y aada el campo tienda como parte de la tabla dinmica.

Participacin en el blog
Revise ms ejemplos de tablas dinmicas creadas con macros desde el blog
del curso y participe en el blog.
http://www.excel-avanzado.com/tablas-dinamicas-macros

Tarea 4
La cuarta tarea del curso consiste en usar una tabla dinmica elaborada con
anterioridad, y aplique el cdigo empleado para que su tabla dinmica pueda
ser creada con macros.
Para la entrega final grabe el documento completo de la siguiente forma:
Apellido-Nombre-Tarea 4.xlsm.
Por ejemplo, si se llama Ana Torres, el nombre del archivo sera:
Torres-Ana-Tarea4.xlsm
Finalizado el archivo regstrelo en la Plataforma del Curso.

Pontificia Universidad Catlica del Per

También podría gustarte