You are on page 1of 66

MSExcel 2007 Avanzado

Disposiciones generales

I.- Con el la finalidad de optimizar el aprendizaje de nuestros estudiantes y prestar un mejor atencin, Edutecno dispuso de una serie de normas que todos los participantes deben respetar. Esto asegurar una mejora continua tanto del desarrollo de nuestras clases como una optimizacin de los conocimientos entregados a los alumnos. Apagar o poner en silencio el celular al momento de entrar a clases No se deben entrar lquidos ni comida al saln. Las clases comienzan puntualmente segn el horario establecido entre la Empresa y Edutecno. Las personas que lleguen despus de los 10 primeros minutos de comenzada la clase, sern considerados como atrasados. Ante cualquier reclamo se debe pedir el libro de sugerencias en recepcin. Si el curso se realiza fuera de las oficinas de Edutecno, enviar sus sugerencias al mail info@edutecno.cl

II.- Adems ponemos en conocimiento de nuestros alumnos y encargados de capacitacin los requisitos que deben cumplir los estudiantes para aprobar un curso. La asistencia mnima para aprobar es de un 75 %. La nota final del alumno se obtendr de un 80 % examen prctico, 10 % participacin en clases y 10 % asistencia. Una vez finalizada la capacitacin, Edutecno enviar a la empresa un certificado con la nota final de la persona y porcentaje de asistencia. Los alumnos que falten a la evaluacin final, debern comunicarse directamente con el encargado de capacitacin de su empresa para justificar su inasistencia y a travs de l coordinar la rendicin de la prueba pendiente. Este proceso debe realizarse en un plazo no posterior a 1 semana despus de finalizado el curso, pasado este tiempo, el alumno ser reprobado por nota.

MSExcel 2007 Avanzado

I II

Introduccin ............................................................................................................................... 1 Consolidar .................................................................................................................................. 2

III Opciones de esquema............................................................................................................... 5


1.1 1.2 Crear Esquemas..................................................................................................... 6 Borrar Esquemas.................................................................................................... 9

IV Optimizando usando Buscar Objetivo y Solver ................................................................... 10


1 2 Buscar Objetivo ............................................................................................................... 10 Solver .............................................................................................................................. 12 2.1 2.2 2.3 Instalacin de Complemento Solver..................................................................... 12 Uso de Solver ....................................................................................................... 12 Informes ................................................................................................................ 15

Escenarios Posibles con Administrador de Escenarios ..................................................... 17 1.1 Solver y el Administrador de Escenarios ............................................................. 19

VI Validacin ................................................................................................................................. 20
1 2 Configuracin de una validacin ..................................................................................... 20 Mensajes ......................................................................................................................... 22

VII Formato Condicional ............................................................................................................... 23


1 Aplicacin de un formato condicional ................................ Error! Marcador no definido. 1.1 1.2 Uso de valores como Criterios ............................... Error! Marcador no definido. Uso de Frmula como Criterio ............................... Error! Marcador no definido.

VIII Manejo de Datos en MSExcel ................................................................................................. 26


1 Filtros ............................................................................................................................... 26 1.1 2 Filtro Avanzado..................................................................................................... 26

Funciones de Formulario .............................................................................................. 29 2.1 Botones ................................................................................................................ 29

3 4

Funciones de Bsqueda.................................................................................................. 30 Funciones de Base de Datos .......................................................................................... 33 4.1 4.2 Rango de Criterios................................................................................................ 33 BDSUMA, BDPROMEDIO, BDCONTAR ............................................................. 34

Tablas Dinmicas .............................................................. Error! Marcador no definido.

IX MS-Query .................................................................................................................................. 40 X
Macros ...................................................................................................................................... 46 1 2 El Grabador de Macros ................................................................................................... 47 Ejecutar una macro ......................................................................................................... 50

MSExcel 2007 Avanzado

2.1 2.2 2.3 2.4 2.5 3

Mtodo abreviado ................................................................................................. 50 Men Herramientas, opcin Macro ...................................................................... 50 Botn personalizado ............................................... Error! Marcador no definido. Botn en la barra de herramientas ......................... Error! Marcador no definido. Ejecutar desde otra macro ..................................... Error! Marcador no definido.

El lenguaje VBA............................................................................................................... 50 3.1 3.2 3.3 3.4 El Editor de Visual Basic ...................................................................................... 51 Descripcin del Lenguaje ..................................................................................... 52 Colores distintivos ................................................................................................ 54 Anlisis de la macro anterior ................................................................................ 54

4 5

Otras instrucciones de macros ........................................................................................ 56 Estructuras de Control ..................................................................................................... 61 5.1 5.2 If ............................................................................................................................ 61 Select Case .......................................................................................................... 61

MSExcel 2007 Avanzado INTRODUCCIN

I Introduccin
El objetivo final de cualquier curso de MSExcel 2007 avanzado es construir macros que permitan automatizar tareas frecuentes y complejas. Sin embargo, es importante tener en cuenta que la mejor macro no siempre es una macro: Esto implica que se debe apartar la idea (que muchas personas tienen), de considerar las macros como herramientas casi mgicas con las que podemos conseguir resultados extraordinarios. Ya estas personas tendern a tratar de resolver cualquier tarea que parezca compleja por medio de macros. ste es un lamentable error, ya que en la mayora de las ocasiones existen herramientas de MSExcel que pueden realizar nuestros requerimientos en forma ms sencilla, rpida y eficiente que si se construyera una macro. Por esto, en una primera etapa nos abocaremos al estudio de algunas herramientas que nos evitarn la construccin de algunas macros en el futuro. Tambin se ver, en una segunda parte, el proceso de construccin de macros y su utilidad prctica para automatizar las tareas ms comunes y complejas.
Para efectos prcticos se entender una secuencia de instrucciones separados por / como la secuencia de instrucciones en un men. As si se seala: ejecute de la etiqueta Insertar/Nombre/Crear es equivalente a ejecute de la etiqueta principal Insertar, dentro de ste seleccione la opcin Nombre y luego en ste Crear.

MSExcel 2007 Avanzado CONSOLIDAR

II Consolidar
Es frecuente en MSExcel encontrar libros que contienen una misma tabla repetida en varias hojas. Estas tablas es la informacin de detalle que luego servir para construir una tabla resumen. Tambin es posible que las tablas a partir de las cuales se construir el resumen se encuentren ubicadas en la misma hoja. En ambos casos podemos hacer uso de la funcin Consolidar, la que nos permite generar una tabla resumen a partir de dos o ms tablas de detalle. El nico requisito para usar esta funcin es que las tablas que contienen los datos a resumir tengan idntica estructura, tanto en columnas como en filas. Explicacin desde el ejemplo a) Construya la siguiente tabla en la Hoja 1. Luego cpiela a las Hojas 2 y 3, cambiando las cifras:

Entonces debemos ubicarnos en la Hoja 4, en la celda A2, ya que es all donde queremos que comience la tabla consolidada (o resumen). b) Enseguida ejecutar de la etiqueta Datos / Consolidar, lo que har aparecer el cuadro que se muestra a continuacin:

Ilustracin 1 Cuadro de Dilogo Consolidar Una vez que aparece este cuadro, los pasos a seguir son los siguientes:

MSExcel 2007 Avanzado CONSOLIDAR c) Seleccionar la funcin con la cual se construir la tabla resumen (Suma, Contar, Promedio, Mnimo, Mximo, etc.) d) Seleccionar la casilla Referencia, y luego marcar el rango A2:C9 en la Hoja1 y presionar el botn Agregar. Repetir este paso con las Hojas 2 y 3. e) En la seccin Usar rtulos en, seleccionar Fila superiory Columna izquierda f) Seleccionar la opcin Crear vnculos con los datos de origen

g) Presionar Aceptar Las opciones Usar rtulos en le indican a MSExcel que dichos datos no deben ser operados pero s copiados a la tabla resumen. La opcin Crear vnculos con los datos de origen permite que la tabla resumen se actualice automticamente cada vez que se efecta un cambio en los datos base. Esta opcin, sin embargo, no puede ser utilizada cuando los datos de origen se encuentran en la misma hoja donde se pretende dejar la tabla resumen. Luego de estos pasos, en la Hoja 4 aparecer una tabla de la misma estructura que la anterior, pero cuyos datos consistirn en el resultado de la funcin que hayamos aplicado a los datos de origen, y cuyo aspecto es el siguiente:

Los nmeros de las filas de MSExcel se encuentran saltados (2, 6, 10, 14, etc.), lo que indica que existen filas que no se estn mostrando: Al costado izquierdo de los nmeros de fila, encontramos adems unos botones con el signo +1. Al presionar el primero de estos botones, encontrar que aparecen las filas 3, 4 y 5 que estaban ocultas, y las que contienen el detalle de lo que estamos viendo en la fila 6. Los botones numerados 1 y 2 que se encuentran al lado izquierdo de las etiquetas de las columnas, nos indican el nivel de detalle que podemos visualizar, siendo el nmero 1 slo el resumen, y el nmero 2 el detalle de los datos.

Todo esto que se ha mencionado en el prrafo anterior slo es visible si la tabla consolidada fue construida en una hoja distinta a los datos de origen y si seleccionamos la opcin Crear vnculos con datos de origen al momento de consolidar.

Interprete +

como

para ver ms

MSExcel 2007 Avanzado CONSOLIDAR Si deseamos agregar o quitar una referencia a las que estn consideradas en la tabla resumen, solamente se debe ubicar en la primera celda de la tabla resumen, volver a seleccionar la opcin Consolidar de la etiqueta Datos y se ver, en la casilla Todas las referencias los rangos que estn considerados en la consolidacin. Para eliminar, se debe seleccionar el rango de la lista y luego presionar el botn Eliminar. Para agregar, basta con seleccionar un nuevo rango y luego presionar Agregar.

MSExcel 2007 Avanzado OPCIONES DE ESQUEMA

III Opciones de esquema


Al usar la herramienta Consolidar (tambin en Subtotales) habr notado que aparecen algunos botones a la izquierda de los ttulos de fila, y en la parte superior izquierda de la hoja, botones de nivel de esquema, que en el ejemplo anterior van desde el 1 al 2. Los botones de esquema, por lo general, slo son aprovechados por los usuarios cuando utilizan las dos herramientas que los generan, sin saber que pueden ser obtenidos manualmente, al solicitarlo a MSExcel. En la planilla siguiente, utilizaremos estas opciones:

Aqu, por ejemplo, (en la ltima columna) tenemos un Total Final que, en su clculo, depende de todas las columnas numricas que estn a la derecha de Fecha. Por lo tanto, podramos desear poder ocultar las columnas intermedias para ver un resumen, (cuando estimemos conveniente) consistente en slo el Total Final junto al da de la operacin. De la misma forma, podemos querer ocultar el detalle diario para ver, solamente, los totales de ese da.

MSExcel 2007 Avanzado OPCIONES DE ESQUEMA 1.1 Crear Esquemas

Para crear esquemas a) Seleccionar en primer lugar las filas o columnas que constituirn un grupo de esquema. En este caso seleccionar las filas desde 4 hasta 9.

b) Seleccionar la etiqueta Datos/Agrupar. Obtendremos el siguiente resultado:

Observe que junto a la fila 10 aparece un botn de Esquema que actualmente tiene el signo menos (-)2. Al presionar ese botn, el detalle del da 22 se oculta, y MSExcel slo nos muestra el Total Da que nosotros hemos calculado.

El signo menos [ - ] interprtelo como para ver menos

MSExcel 2007 Avanzado OPCIONES DE ESQUEMA c) Repita el mismo procedimiento para las filas 11 a 16 para obtener el resultado que se muestra en la imagen siguiente:

d) Ahora podemos seleccionar desde la fila 4 a 17 (es decir, el detalle de ambos das, ms los subtotales de cada uno de ellos) y volver a seleccionar la etiqueta Datos/Agrupar Con esto obtendremos en un slo grupo todo el detalle, pero adems se completan los niveles de esquema en la parte superior hasta llegar al nmero 3:

Tal como en las herramientas de MSExcel que usan esquemas, aqu el nivel 1 muestra solamente el Total General, el nivel 2 muestra los subtotales, y el nivel 3 muestra todos los detalles. Ahora bien, en las columnas la situacin es un poco ms compleja: Monto, Tasa y Plazo son datos que, si bien estn relacionados conceptualmente, son completamente independientes entre ellos: La Cuota est calculada en base a la funcin financiera PAGO, que utiliza como parmetros los tres valores anteriores. El Total parcial se obtiene de multiplicar la cuota por el plazo. El monto del Seguro es un 2% del monto original,

MSExcel 2007 Avanzado OPCIONES DE ESQUEMA El Total Final es la suma del Total ms el Seguro.

Como puede ver, no existe una relacin como en las filas, donde existen detalles que simplemente son sumados en subtotales y luego en un total general. Agruparemos los datos de las columnas de acuerdo a criterios de orden personal, que no necesariamente son matemticos. En primer lugar, construiremos un grupo con el detalle de Monto, Tasa y Plazo y Cuota, que debiera verse resumido en el Total. Para esto: a) seleccionar las columnas desde B hasta E, como se muestra en la figura:

Note que, al estar centrado dentro de la planilla el ttulo Crditos Colocados, MSExcel no permite seleccionar un grupo de columnas. Para solucionar esto es necesario seleccionar el ttulo, y a travs de la etiqueta Inicio, deshabilitar la casilla Combinar celdas. Una vez seleccionadas las columnas, debe ir a la etiqueta Datos/Agrupar. El resultado debiera ser similar al de la imagen siguiente:

Como puede observar, ahora: las columnas desde B hasta E se encuentran agrupadas. Sobre la columna F hay un botn de esquema que permite ocultar dichas columnas. Sobre los ttulos de filas han aparecido dos botones de niveles de esquema.

Ahora construiremos un segundo grupo que permite ocultar los detalles para dejar a la vista slo el Total y el Total Final. Si seleccionamos las columnas Total y Seguro, y luego seleccionamos la opcin de la etiqueta Datos/Agrupar, obtendremos un resultado indeseado:

Al no existir una relacin matemtica entre las columnas como la que se da entre las filas, MSExcel asume que lo que deseamos hacer es extender el esquema recin construido para que abarque dos columnas ms. La nica forma de solucionar el problema es desagrupar (cortar) el grupo construido. Para ello:

MSExcel 2007 Avanzado OPCIONES DE ESQUEMA a) Seleccionar la columna en la que se quiere desagrupar (cortar) el grupo. En nuestro ejemplo, se trata de la columna F. Seleccionar dentro de la etiqueta Datos/ Desagrupar. Una vez seleccionada la opcin y presionado Aceptar, obtendremos el siguiente resultado:

Ahora, tal como desebamos al comienzo, tenemos en un grupo las celdas que determinan el Total, y en otro el Seguro. Al ocultar los detalles, obtendremos:

1.2

Borrar Esquemas Para eliminar esquemas que se han creado, basta con seleccionar las columnas o filas incluidas en el grupo a eliminar. Una vez realizado esto, debe ir a la etiqueta Datos/Desagrupar. Con esto, el grupo desaparece, junto a los botones de esquema que MSExcel haba generado.

MSExcel 2007 Avanzado OPTIMIZANDO USANDO BUSCAR OBJETIVO Y SOLVER

IV Optimizando usando Buscar Objetivo y Solver


Dos herramientas de gran utilidad en la agilizacin de clculos complejos son Buscar Objetivo Solver

Solver es una herramienta ms compleja que Buscar Objetivo.

Buscar Objetivo
La herramienta Buscar Objetivo permite alcanzar un valor determinado de una celda (que contiene una frmula) modificando el valor contenido en otra celda de la que tiene dependencia, ya que al estar relacionada directa o indirectamente, MS MSExcel por medio de iteraciones puede una formula o funcin, con la primera. Para entender el funcionamiento de esta herramienta se desarrollar el siguiente ejemplo:

Explicacin desde el ejemplo a) Construya la tabla siguiente, calculando en la celda E3 el promedio, por medio del Asistente de Funciones.

b) Posicinese en la en la celda E3, donde esta contenido el promedio de costo regional, y ejecute de la etiqueta Datos/Analisis Y Si/Buscar objetivo. Esto har aparecer el siguiente cuadro de dilogo:

10

MSExcel 2007 Avanzado OPTIMIZANDO USANDO BUSCAR OBJETIVO Y SOLVER

c) En Definir la celda, haga un click en la celda de la planilla que desea que tome un determinado valor. d) En Con el valor escriba el valor que desea que tome esa celda. (En este caso, el objetivo es hacer que el promedio llegue a 4000, por lo que debemos escribir ese valor en la casilla) Ilustracin 2 Cuadro de Dilogo Buscar Objetivo e) En para cambiar la celda haga un click en la que celda que se desea tome un valor determinado. En este ejemplo, se debe hacer click en la celda B8, que es la que contiene el costo de la Regin 5. Con esto buscamos cambiar el valor de la celda objetivo, E3, desde 4.420,9 a 4.000. Pero este ajuste lo realizaremos cambiando el valor de la celda B8, cambiando (bajando) su costo.

f)

Al presionar Aceptar, obtendremos el siguiente cuadro: Se puede ver que el valor de la Regin 5 ha variado, para ajustar el promedio a 4.000. El cuadro de dilogo que vemos en la figura anterior nos da dos opciones: Aceptar y Cancelar. Al Aceptar, Buscar Objetivo cambia definitivamente el valor de la celda B8 por el nuevo valor, dejando el promedio en 4.000. Al Cancelar, volvemos a los valores originales.

11

MSExcel 2007 Avanzado OPTIMIZANDO USANDO BUSCAR OBJETIVO Y SOLVER Una variacin del ejercicio anterior Ahora bien, qu ocurre si no slo deseamos cambiar el valor de la Regin 5, sino que adems el de las Regiones 7 y 10? Qu ocurre si, deseando cambiar el valor de esas tres celdas, queremos adems que el valor de una de ellas no supere ni baje de un valor determinado? Para este tipo de problemas, debemos utilizar Solver.

Solver
Como se mencionaba en el prrafo precedente, Solver es una herramienta que cumple similares funciones que Buscar objetivo, pero es ms compleja, permitiendo solucionar problemas como los descritos ms arriba. Puede ser, sin embargo, que en algunos casos no aparezca la opcin Solver en la etiqueta Herramientas. Esto es porque no se ha instalado la opcin. Solver es un Complemento que por defecto est desintalada por ser una herramienta de carcter avanzado.

2.1

Instalacin de Complemento Solver Para instalar Solver En estos casos se debe seleccionar la opcin Complementos en la etiqueta Herramientas, y seleccionar la casilla Solver. Despus de esto, la opcin Solver estar disponible.

2.2

Uso de Solver Para ver el funcionamiento de esta herramienta, construiremos la siguiente tabla: Esta tabla contiene las siguientes formulas, en las siguientes celdas: Valor de Venta Costo de Venta Ganancia Bruta Total Gastos Ganancia Neta =B4*B19 =B4*B20 =B6-B7 =SUMA(B10:B12) =B8-B13

Margen de Ganancia =B15/B8

Ilustracin 3 Ejemplo aplicado de Solver Lo que se desea es: Ajustar el margen de ganancia de 8% a 12% (Objetivo),

12

MSExcel 2007 Avanzado OPTIMIZANDO USANDO BUSCAR OBJETIVO Y SOLVER Cambiando los valores de las celdas Unid. Vendidas, Sueldos y Publicidad (variables o como lo seala MSExcel Celdas cambiantes).

Para resolver esto: a) Seleccionar la celda B17 (celda activa), que es la que contiene el valor que deseamos cambiar, y que est relacionada con las celdas ya mencionadas3. b) Seleccionar la etiqueta Datos/Solver, lo que har aparecer el siguiente cuadro de dilogo:

Ilustracin 4 Cuadro de Dilogo Parmetros de Solver c) En la casilla Celda objetivo confirme la celda cuyo valor desea modificar (si la seleccion previamente debera ser la B17. d) En la casilla Valor de la celda objetivo dispone de las opciones Mximo, Mnimo y Valores de:. Aqu debe seleccionar la opcin que ms se ajuste a la resolucin del problema para el ejemplo es Valores de. e) En la casilla Cambiando las celdas se debe hacer click en las celdas que desea cambiar para obtener el valor objetivo.
Cada vez que selecciona una celda, debe presionar ";" lo que indicar que son celdas separadas. Tambin es posible seleccionar, si fuese necesario, un rango completo.

f)

Estos son los datos mnimos necesarios para el funcionamiento de Solver, por lo que se debe presionar Resolver. Esto har aparecer el siguiente cuadro:

Esta seleccin slo ayuda a que est preseleccionada en el cuadro de dilogo Solver

13

MSExcel 2007 Avanzado OPTIMIZANDO USANDO BUSCAR OBJETIVO Y SOLVER

Ilustracin 5 Cuadro de Dilogo Resultados de Solver El mensaje de Resultados de Solver indica que los datos de la planilla han cambiado para ajustar el valor pedido. La opcin Utilizar solucin de Solver har que los antiguos valores sean reemplazados por aquellos que permiten que nuestro margen de ganancia sea 12%. Es decir aplica los valores que Optimizan la funcin La opcin Restaurar valores originales har que no sean tomados los valores que Solver ha entregado como solucin, lo que implica que los valores antiguos (y por ende, el margen de 8%) se mantengan.

g) Ambas opciones deben ser ratificadas por el botn Aceptar. Adems, en ambos casos puede optar a obtener cualquiera de los informes que Solver genera (ver punto 2.3 Informes pgina 15).
Puede utilizar el botn Guardar Escenario, para combinar Solver con el Administrador de Escenarios (ver , herramienta que ser vista ms adelante.

Restricciones Una de las grandes diferencias entre Solver y Buscar objetivo es que Solver permite darle a MSExcel restricciones que limiten los cambios que har a las celdas. En nuestro ejemplo, podemos pedirle a MSExcel que deseamos modificar la celda margen de ganancia a 12%, cambiando el precio del producto, el cual no debe, sin embargo, superar los 42. Explicacin desde el ejemplo Para hacer esto, en la etapa de definicin de parmetros a optimizar (Ilustracin 4 Cuadro de
Dilogo Parmetros de Solver pgina 13) :

a) Presionar el botn Agregar, en la seccin Sujetas a las siguientes restricciones, lo que har aparecer el siguiente cuadro de dilogo:

Ilustracin 6 Cuadro de Dilogo Agregar Restriccin b) Indicar en Referencia de la celda la celda a la cual desea poner restriccin. 14

MSExcel 2007 Avanzado OPTIMIZANDO USANDO BUSCAR OBJETIVO Y SOLVER c) Indicar el comparador lgico. Dispone de: >= = <= "ent" "bin" Mayor que Igual a Menor que Que el valor de la celda debe ser un Entero Que el valor de la celda debe ser un binario

d) Indicar el valor o la referencia que trabajar con el comparador lgico. Las restricciones pueden ser agregadas, modificadas o eliminadas en el momento que se desee, presionando el botn correspondiente en la seccin Sujeta a las siguientes restricciones (ver Ilustracin 4 Cuadro de Dilogo Parmetros de Solver pgina 13). Cabe destacar que a una celda podemos aplicar ms de una restriccin, y que al poder usar una referencia en la restriccin, esta ltima se hace ms flexible y dinmica, considerando que la restriccin se puede parametrizar. Para un ejemplo seleccione el archivo de su PC (previa instalacin de Solver): "C:\Archivos de programa\Microsoft OfficeXP\Office10\Samples\SOLVSAMP.XLS" 2.3 Informes Solver nos entrega, adems, la posibilidad de obtener tres tipos de informes: informes de Resultados informes de Sensibilidad informes de Lmites

Estos se obtienen al seleccionarlos en el cuadro de dilogo final de Solver (ver Ilustracin 5


Cuadro de Dilogo Resultados de Solver pgina 14)

Cada uno de estos informes puede ser pedido cada vez que se ejecuta Solver, independientemente si usamos la solucin propuesta o restablecemos los valores originales, y en cada ocasin se crea una nueva hoja con el nombre del informe con un nmero correlativo. El informe de Respuestas El informe de Respuestas nos indica cul es la celda objetivo, su valor original y el valor conseguido por Solver. Nos muestra, adems, los valores originales y finales de las celdas que hemos pedido que cambie, y adems nos muestra las restricciones que hubisemos solicitado, y el grado de divergencia con el resultado final. Reporte: Muestra una lista con la celda objetivo y las celdas ajustables con sus valores originales y sus valores finales, las restricciones y la informacin acerca de las mismas. Informe de Sensibilidad Facilita informacin acerca de la sensibilidad de la solucin a que se realicen pequeos cambios en la frmula definida en el cuadro Definir celda objetivo del cuadro de dilogo Parmetros de Solver o de las restricciones. No se genera este informe para los modelos que tengan restricciones enteras.

15

MSExcel 2007 Avanzado OPTIMIZANDO USANDO BUSCAR OBJETIVO Y SOLVER En modelos no lineales, el informe facilita los valores para las gradientes y los multiplicadores de Lagrange. En los modelos lineales, el informe incluye costos reducidos, otros precios, coeficiente de objetivos (con aumentos y disminuciones permitidos) y rangos de restricciones hacia la derecha. Reporte: muestra el gradiente reducido (precio sombra) de cada variable y los multiplicadores de Lagrange (indicador de holgura de restriccin) para cada restriccin El informe de Lmites El informe de Lmites es vlido slo cuando hemos sujeto alguna celda a restriccin. En este caso, este informe nos muestra cul habra sido el valor de la celda objetivo de cumplir con el lmite inferior y/o superior que hubisemos puesto como restriccin. Reporte: Muestra una lista con la celda objetivo y las celdas ajustables con sus valores correspondientes, los lmites inferior y superior de cada variable que hacen posible una solucin factible, as como los valores del objetivo. No se genera este informe para los modelos que tengan restricciones enteras. Los lmites inferior y superior son los lmites de cada variable que hacen una solucin factible (que cumpla las restricciones)

16

MSExcel 2007 Avanzado ESCENARIOS POSIBLES CON ADMINISTRADOR DE ESCENARIOS

V Escenarios Posibles con Administrador de Escenarios


El Administrador de Escenarios nos permite manejar diversas combinaciones para una o varias celdas, para ver su efecto sobre una o varias celdas relacionadas a travs de formulas. Adems, podemos definir diversos escenarios que afecten a celdas diferentes. Para revisar esta herramienta, utilizaremos la tabla que vimos en el captulo dedicado a Solver, con el margen de ganancia en 8%. Para comenzar a utilizar esta herramienta, debemos dirigirnos a la etiqueta Datos/ Anlisis Y Si /Administrador de Escenarios, la que har aparecer el siguiente cuadro de dilogo:

Ilustracin 7 Cuadro de Dilogo de Administrador de Escenarios Por medio del botn Agregar se comienzan a definir los nuevos escenarios, a travs del siguiente cuadro de dilogo:

17

MSExcel 2007 Avanzado ESCENARIOS POSIBLES CON ADMINISTRADOR DE ESCENARIOS

Ilustracin 8 Cuadro de Dilogo de Administrador de Escenarios Agregar Escenario En Nombre del Escenario debemos sealar el nombre que identificar el nuevo escenario. En Celdas cambiantes debemos definir las celdas o rangos que cambiarn sus valores. En Comentarios podemos hacer una breve descripcin del escenario, para su mejor comprensin a futuro. Para el ejemplo (Ilustracin 3 Ejemplo aplicado de Solver pgina 12) las celdas cambiantes sern B10:B12 (prescindiendo del nmero de unidades vendidas)

Al presionar Aceptar tendremos acceso al siguiente cuadro, donde establecemos los valores que tomarn las celdas bajo ese escenario:

Los valores que aparecen son los que actualmente contiene la celda. Debern ser modificados de acuerdo a los valores que deseamos que tome nuestro escenario. Estas casillas slo aceptan valores, y no referencias. Podemos repetir los pasos anteriores para crear ms de un escenario con el fin de analizar mltiples combinaciones de datos. Si lo que se desea es modificar un escenario ya existente, se debe seleccionar dicho escenario en la lista que nos entrega el Administrador, y enseguida presionar el botn Modificar. MSExcel nos mostrar el cuadro que indica las celdas cambiantes con sus valores (ver figura anterior).

18

MSExcel 2007 Avanzado ESCENARIOS POSIBLES CON ADMINISTRADOR DE ESCENARIOS Si, por el contrario, se desea eliminar un escenario, se debe seleccionar este escenario y luego presionar el botn Eliminar. 1.1 Solver y el Administrador de Escenarios Vimos que Solver, al momento de hallar una solucin, nos ofreca la opcin Guardar Escenario. Al ejecutar dicho botn, agregaremos un escenario al Administrador, cuyas celdas cambiantes sern las que hayamos sealado a Solver, y sus valores, los que Solver hubiese encontrado como solucin para ajustar la celda objetivo. El nombre de este escenario ser Solucin de Solver.

19

MSExcel 2007 Avanzado VALIDACIN

VI Validacin
En MSExcel es posible condicionar el ingreso de datos dentro de una planilla, de acuerdo a ciertos criterios. Estas condiciones se aplican por medio de una Validacin.

Configuracin de una validacin


Para configurar las opciones de validacin, basta con ubicarse en las celdas a las cuales queremos establecer condiciones en su uso. A continuacin, debe seleccionar la opcin Datos/Validacin. Aparecer el siguiente cuadro de dilogo:

Ilustracin 9 Cuadro de Dilogo Validacin de Datos El Cuadro de Dilogo anterior, permite establecer las condiciones que impondremos en la celda cada vez que se ingresen datos en las celdas seleccionadas. La opcin Cualquier valor, que viene por omisin, implica que las celdas seguirn funcionando como lo hacen normalmente en MSExcel. Es decir, aceptarn cualquier valor (incluidos textos) que deseemos ingresar. La opcin Nmero entero slo permite ingresar nmeros, los que no pueden ser fraccionarios (el nmero 5,42, por ejemplo, no estara permitido). En caso de seleccionar esta opcin, debe establecer otras restricciones, como el nmero mnimo, mximo, o el intervalo dentro del cual debe encontrarse el valor para ser aceptado. Decimal permite ingresar nmeros que contengan decimales. Al igual que en el caso anterior, debemos establecer el intervalo dentro del cual debe encontrarse el nmero para ser aceptado. La opcin Lista nos permite establecer una lista de posibles valores (limitar los datos a una lista), que se debe indicar como rango, y luego, en la celda para la cual establecimos esta validacin, genera una lista desplegable que permite seleccionar el elemento a ingresar. 20

MSExcel 2007 Avanzado VALIDACIN Explicacin desde el ejemplo En el ejemplo siguiente: Lista: se muestra una pequea planilla que contiene los departamentos de una empresa, Celda a aplicar Validacin: la celda C1 queremos que el usuario slo pueda ingresar uno de los departamentos existentes (los de la lista anterior):

a) Al estar la lista ya construida, slo necesitamos ubicarnos en la celda que vamos a validar; en nuestro caso, C1. Luego seleccionamos la opcin en la etiqueta Datos/Validacin. Aparecer el cuadro de dilogo ya visto, en el cual seleccionamos la opcin Lista:

Ilustracin 10 Cuadro de Dilogo Validacin de Datos. Ejemplo Como puede ver, en el cuadro de dilogo aparece la casilla Origen. En ella debemos ingresar el rango en el cual se encuentran los componentes de la lista que permitiremos en esta celda, que en nuestro caso corresponde al rango A2:A5. A la derecha, puede ver las casillas Omitir blancos, que al estar seleccionada, acepta el ingreso de celda vaca como vlida. La casilla Celda con lista desplegable, al estar seleccionada, mostrar una lista desplegable en la celda para que podamos seleccionar el tem de la lista. Una vez establecidos los parmetros, al presionar activar la celda C1 mostrar un botn de lista que al presionar, se ver as:

21

MSExcel 2007 Avanzado VALIDACIN La opcin de validacin Fecha slo permitir datos de este tipo. Al seleccionar esta opcin se debe establecer un intervalo. Lo mismo ocurre cuando seleccionamos la opcin Hora. Longitud del texto nos permite establecer cul ser el tamao mnimo o mximo que debe tener un texto para ser aceptado (medido en caracteres) o bien, el intervalo dentro del cual debe encontrarse la cantidad mencionada.

Mensajes
Las opciones de validacin de MSExcel permiten dos tipos de mensajes: el mensaje de entrada y el mensaje de error. El mensaje de entrada debe ser establecido en la ficha Mensaje entrante en el cuadro de dilogo de Validacin. Este mensaje puede incluir cualquier frase o palabra que el usuario establezca, y ser mostrado cada vez que se seleccione la celda. Habitualmente se utiliza para incluir mensajes de advertencia que le indiquen al usuario el tipo de dato que se espera introduzca. Los mensajes de error, que se establecen en la ficha Mensaje de error del cuadro de dilogo Validacin, nos permiten establecer qu mensaje le ser mostrado al usuario cada vez que ingrese un dato no permitido. Al igual que el anterior, este mensaje admite cualquier texto que queramos fijar. En caso de no establecer ningn mensaje de error, MSExcel usa el mensaje que trae incorporado, que se muestra a continuacin:

Ilustracin 11 Validacin - Ejemplo de Cuadro de error en Validacin de Datos El mensaje anterior se gener porque el texto ingresado en la celda C1 no forma parte de la lista A2:A5 que configuramos inicialmente Como ha podido ver, las opciones de validacin pueden ser de mucha utilidad cuando necesitamos que los datos de nuestros usuarios respondan a ciertas caractersticas y no sean ingresados de manera arbitraria. Adems, permiten evitar errores en las frmulas, al obligar al usuario a ingresar nmeros que sean vlidos para los clculos ingresados en nuestra planilla.

22

MSExcel 2007 Avanzado FORMATO CONDICIONAL

VII Formato Condicional


Un formato condicional es una propiedad que se le da a la celda que consiste en que se puede personalizar un formato dependiente del valor contenido en alguna celda u condicin lgica que resulte de una funcin. El formato se limita a las cualidades de formato celda, por lo que la altura de fila o ancho de columna no son considerados

Aplicacin de un formato condicional

a) Seleccione las celdas cuyo formato condicional desee agregar, modificar o quitar.
b) En la etiqueta Inicio, haga clic en Formato condicional.

Dentro de las alternativas aparecen para nmeros (entre, mayores, menores, etc)

23

MSExcel 2007 Avanzado FORMATO CONDICIONAL Para los que estan en los rangos superiores o inferiores

Para generar barras dentro de la celda

Para incluirle iconos

24

MSExcel 2007 Avanzado FORMATO CONDICIONAL O para agregar reglas personales

25

MSExcel 2007 Avanzado MANEJO DE DATOS EN MSEXCEL

VIII Manejo de Datos en MSExcel


El manejo de datos en MSExcel est referido principalmente a la posibilidad de manipular, para su anlisis, bases de datos. Como base de datos consideraremos aquellas tablas que estn organizadas en columnas, a las que llamaremos campos. Las filas representan grupos de datos referentes a un mismo tem, a los que llamaremos registros. Dentro de las opciones de manejo de datos de MSExcel, revisaremos principalmente Subtotales, Filtros, funciones de Bsqueda, Formulario y Tablas Dinmicas.

Filtros
Los filtros son herramientas de manejo de datos que nos permiten seleccionar informacin dentro de una base, para su anlisis. Dentro de los filtros, existen dos tipos que difieren en sus caractersticas y manejo: Autofiltro (Curso Intermedio) Filtro Avanzado, que es lo que revisaremos a continuacin.

1.1

Filtro Avanzado Filtro Avanzado nos permite, al igual que Filtro, seleccionar registros en una tabla de MSExcel. El Filtro Avanzado, entre otras mejoras, cuenta con: La posibilidad de rescatar el resultado de lo filtrado y copiarlo en otro lugar del libro. Adems es posible seleccionar slo algunos campos o columnas del total original.

Es atractivo en la potencialidad de rescate y flexibilidad en el manejo de datos, sin embargo, cabe sealar que su manejo no es tan fcil, como en el caso del Autofiltro.

26

MSExcel 2007 Avanzado MANEJO DE DATOS EN MSEXCEL Para ver el funcionamiento de esta opcin, construya la tabla siguiente:
INFORME DE VENDEDORES

Parte

Precio

Empresa

Localidad

123 213 126 134 142 150 158 166 114 218 230 196 140

1.230 Log 2.190 3.425 3.490 3.555 3.620 3.685 3.750 3.280 1.221 1.230 1.230 2.190 Log Car Log Car Car Mun Mun Car Log Log Log Mun

Madrid Madrid Madrid Sevilla Sevilla Parla Parla Sevilla Madrid Sevilla Parla Parla Sevilla

En dicha tabla, la informacin est contenida en cuatro columnas o campos: Parte, Precio, Empresa y Localidad, conteniendo un total de 13 registros. Enseguida encontramos los mismos encabezados que en el caso anterior. Pero estos no contienen registros, sino solamente el texto >2200 bajo el rtulo Precio. A esta rea la llamaremos rango de criterios. A continuacin encontramos solamente dos de los cuatro encabezados: Parte y Empresa. Esta rea es conocida como rango de destino. La opcin Filtro Avanzado se encuentra en la etiqueta Datos/ Filtro Avanzado. Al seleccionar esta opcin, tenemos acceso al siguiente cuadro de dilogo:

Parte

Precio

Empresa

Localidad

>2200

Parte

Empresa

Ilustracin 12 Cuadro de Dilogo Filtroavanzado Accin: La primera opcin que encontramos es la Accin que el Filtro va a realizar. Las posibilidades son: filtrar la lista sin moverla a otro lugar (que es lo que hace el Autofiltro), copiar a otro lugar. Permite dejar intacta nuestra base original y obtener en otro lugar el resultado del filtro (rango de destino).

27

MSExcel 2007 Avanzado MANEJO DE DATOS EN MSEXCEL Rango de Lista Una vez que hemos seleccionado la segunda accin, debemos indicarle el Rango de la Lista. Para indicarlo con el puntero podemos presionar el botn que contiene la flecha diagonal de color rojo, lo que minimizar el cuadro de dilogo, permitindome seleccionar el rango. Rango de criterios A continuacin se debe indicar el rango de criterios. Este rango est compuesto, en todos los casos, por un encabezado que debe ser copia fiel del encabezado de la base, ms los criterios que queremos que MSExcel use para filtrar. Estas son las dos lneas que encontramos a continuacin de la base. En este caso, el nico campo que contiene un criterio para filtrado es el campo Precio, del cual seleccionaremos slo aquellas Partes cuyo valor sea inferior a 2.200. Copiar a otro lugar Si en la accin seleccionamos la opcin Copiar a otro lugar, debemos indicar en la tercera casilla el lugar de destino del filtro. Este rango est sealado por la repeticin de los encabezados de las columnas. Pero, a diferencia del rango de criterios, ste no necesariamente debe incluir todas las columnas ni deben estar en el mismo orden. Solamente debe incluir los encabezados de las columnas que queremos que el filtro rescate, y en el orden que deseemos que las presente. En nuestro ejemplo, MSExcel slo nos mostrar las columnas Parte y Empresa. Podemos hacer uso, tambin, de la casilla Slo registro nicos, la que har que MSExcel no muestre los registros seleccionados y repetidos. Esto es que en el caso de mostrar como Rango de Lista slo los campos Empresa y Localidad, mostrar las combinaciones nicas de Empresa-Localidad. Listado mucho menor a los 213 registros. Es importante destacar que el rango de criterios debe tener exactamente la misma descripcin de encabezados que la base original, independiente de si asignamos o no algn criterio a todos los campos. Este rango, adems, presenta la posibilidad de usar dos criterios. As, por ejemplo:
Parte Precio Empresa Localidad

>2200

Madrid

o bien:
Parte Precio Empresa Localidad

>2200 Madrid

Caso 1 En el primer caso, por estar >2200 y Madrid en la misma fila, MSExcel mostrar aquellos registros cuyo { precio sea mayor a 2.200} Y {cuya localidad sea Madrid}. Caso 2 En el segundo caso, al estar en filas distintas, MSExcel mostrar aquellos registros cuyo {precio sea mayor a 2.200} O {cuya localidad sea Madrid}. 28

MSExcel 2007 Avanzado MANEJO DE DATOS EN MSEXCEL

Como se puede ver: al poner los criterios de filtrado en la misma fila, MSExcel los considera como un Y lgico, donde ser necesario que el registro cumpla con ambas condiciones para ser incluidos en el resultado. Poner los criterios en filas separadas, en cambio, har que MSExcel los tome como un O lgico, debiendo un registro cumplir con un slo de los dos criterios para aparecer en el resultado.

Funciones de Formulario
Pese a lo equvoco del nombre, estas funciones de MSExcel permiten administrar una base de datos, tanto para agregar o eliminar registros como para seleccionar un grupo de registros a travs de algn criterio. Para acceder a estas funciones debemos estar posicionados en cualquier celda de las que componen la base de datos, para luego buscar de la cinta de comandos personalizados Formulario. Esto nos mostrar la siguiente ventana:

Como puede verse, las etiquetas que aparecen en la ventana corresponden a los nombres de los campos de nuestra base de datos. Las casillas con informacin que vemos al lado de las etiquetas corresponden a los datos del primer registro de la base de datos. La barra de desplazamiento vertical que se encuentra entre los datos y los botones nos permite movernos a travs de los registros que componen la base. El mensaje 1 de 36, que aparece sobre el botn Nuevo indica que el registro que vemos es el primero de un total de 36 registros disponibles. Podemos realizar modificaciones a los datos que componen el registro en forma inmediata. 2.1 Botones Nuevo : Este botn nos permite agregar un nuevo registro a la base de datos. Al presionarlo, aparecern las casillas de datos vacas para agregar nueva informacin. Este nuevo registro es agregado al final de la base de datos como una nueva fila de la planilla. 29

MSExcel 2007 Avanzado MANEJO DE DATOS EN MSEXCEL Eliminar : Tal como su nombre lo indica, este botn elimina el registro activo, que es el que vemos en la ventana Formulario. Esta accin no se puede deshacer.

Restaurar : Si hemos hecho alguna modificacin al registro activo y deseamos deshacerla, debemos presionar este botn. Este botn no restaura los registros que fueron eliminados. Buscar : Estos botones (Buscar Anterior y Buscar Siguiente) nos permiten desplazarnos hacia delante y atrs entre los registros, una vez que hemos definido criterios de seleccin. : Este botn har aparecer la ventana Formulario con todas las casillas vacas. En estas casillas debemos escribir el criterio por medio del cual se desea hacer un filtrado de la base. Al presionar este botn el resto de los botones cambia de nombre. El botn Borrar y el botn Restaurar limpian las casillas para criterios. Los botones Buscar nos permiten desplazarnos a travs de los registros. El botn Formulario nos devuelve a la ventana original de visualizacin de datos. : Cierra la ventana Formulario.

Criterios

Cerrar

Los criterios de seleccin de registros pueden ser puestos para un slo campo o para varios campos simultneamente. As, por ejemplo, podemos seleccionar a aquellos que trabajen en el departamento Diseo, y en la seccin Fax. Al establecer criterios, la barra de desplazamiento dejar de moverse a travs de todos los registros, para hacerlo slo a travs de los registros que cumplen con los criterios establecidos. Los botones Buscar comenzarn a trabajar de la misma forma.

Funciones de Bsqueda
Las funciones de bsqueda son pequeas funciones que nos permiten, a travs de un dato, buscar la informacin correspondiente en la base. Esta informacin corresponder a un registro puntual de la base de datos. Existen dos de estas funciones, Buscar Vertical y Buscar Horizontal, las que trabajan en forma casi idntica. La funcin Buscar Vertical se utiliza cuando la estructura de la base de datos es la tradicional, es decir, los campos en sentido vertical, mostrados de izquierda a derecha, y los registros en sentido horizontal, mostrados de arriba a abajo. Es necesario, para que esta funcin trabaje de la forma esperada, que el valor a buscar se encuentre en el primer campo o columna, y que esta ltima se encuentre ordenada de menor a mayor.

30

MSExcel 2007 Avanzado MANEJO DE DATOS EN MSEXCEL Para ver el desempeo de la funcin, construya la siguiente tabla:
RUT APELLIDO NOMBRE CARGO

1234-5 6789-1 1011-2 9834-6 5694-8 5364-8 1012-7 6548-9

PEREIRA CAUDILLO HURTADO FABRE LATORRE KAPLAN SIYAMA KAPLAN

NANCY JOSE LUIS YVONNE JULIAN JEANNINE PATRICIA FRANCISCO JULIAN

ASISTENTE COMERCIAL REPRESENTANTE REPRESENTANTE REPRESENTANTE REPRESENTANTE ASISTENTE COMERCIAL REPRESENTANTE ASISTENTE COMERCIAL

Ordene enseguida la tabla por RUT (Para esto, debe seleccionar la tabla, ir a la etiqueta Datos/Ordenar, y luego indicar que desea hacerlo por RUT). Si cre la tabla a partir de la celda A1, escriba lo siguiente a partir de la celda A15:
rut:

apellido: nombre: cargo:

En la celda B17 (junto a apellido:), escriba lo siguiente: =BUSCARV($B$15;$A$1:$D$9;2;FALSO) En la celda aparecer el texto #N/A. Para subsanar este error, escriba el Rut 1234-5 en la celda B15. Esto har que, en lugar de #N/A aparezca la palabra PEREIRA. Podemos ver, entonces, que la funcin BUSCARV busca un valor en el primer campo de una base de datos, para luego devolver el valor de ese registro en una columna sealada por nosotros. La sintaxis de la funcin es, entonces, la siguiente: =BUSCARV(valor_a_buscar;matriz_de_busqueda;indicador_de_columna;ordenado) Como se vio en el ejemplo, valor_a_buscar puede ser una referencia (una celda que contiene el valor), pudiendo tambin ser un valor determinado. En este ltimo caso, el valor debe ir entre comillas (por ejemplo, 1234-5). Es preferible, para darle mayor dinamismo a la formula, trabajar con referencias. Ahora podemos copiar la formula al resto de las celdas (nombre y cargo), pero cuidando de cambiar el indicador de columna (3 para nombre y 4 para cargo). Veremos entonces que, junto a los textos, aparecen los datos correspondientes al Rut que hemos anotado en celda B15. Podemos cambiar este RUT, y veremos que la informacin mostrada en las celdas cambia, de acuerdo al RUT que hayamos ingresado.

31

MSExcel 2007 Avanzado MANEJO DE DATOS EN MSEXCEL En la funcin antes indicada aparecer una opcin llamada Ordenado, ste nos permitir una mejor bsqueda y entrega de informacin al momento de usar BUSCARV. En el ejemplo anterior se uso la opcin de FALSO, ya que buscara un valor exacto en la Matriz de Bsqueda, sta es la ms utilizada, pero en este capitulo veremos el uso de la otra opcin, VERDADERO. Para ver el desempeo de la opcin, construya la siguiente tabla:
UBIC. SUELDO BASE BONO

Sucursal 2 Sucursal 1 Casa Matriz Sucursal 2 Sucursal 2 Casa Matriz Sucursal 1 Casa Matriz

$ $ $ $ $ $ $ $

693.520 276.485 338.453 451.715 418.791 194.927 483.466 264.145

Adems cree la siguiente matriz de bsqueda


SUELDO BASE BONO

$ $ $ $ $ $

100.000 200.000 300.000 400.000 500.000 600.000

10% 12% 15% 17% 20% 25%

La finalidad del ejercicio es colocar en la tabla mayor y en la columna BONO el porcentaje correspondiente dependiendo de su SUELDO BASE. Si observa el ejercicio no existen valores exactos para los sueldos base buscados, por lo que BUSCARV deber entregar los valores ms prximos debajo de lo graduado en la tabla menor, esto es por ejemplo: Si se desea buscar el porcentaje de $190.000 y existe una graduacin de 10% para los sueldos entre $100.000 y $199.999, BUSCARV le dar este porcentaje y no el 20% de la siguiente graduacin, independiente que este ms cerca del $200.000 que de $100.000. En la celda C2 (junto a $693.520), escriba lo siguiente: =BUSCARV(B2;$A$11:$B$17;2;VERDADERO) En la celda aparecer el valor correspondiente a este Sueldo Base, o sea, 25% 32

MSExcel 2007 Avanzado MANEJO DE DATOS EN MSEXCEL Para el caso que nuestra base tenga una estructura en filas (las filas representan los campos y las columnas los registros), debemos verificar que la fila en la que deseamos buscar datos sea la primera, y que se encuentre ordenada de menor a mayor. Enseguida, la formula a utilizar es la siguiente: =BUSCARH(valor_a_buscar;matriz_de_busqueda;indicador_de_fila) Como esta base no contiene los campos en columnas sino en filas, el ltimo no corresponde al nmero de columna, sino a la fila de la cual deseamos extraer los datos.

Funciones de Base de Datos


Las funciones de Base de Datos son funciones incorporadas en MSExcel que permiten hacer distintos clculos matemticos a partir de la informacin contenida en una lista de MSExcel que tenga estructura de base de datos. Estas funciones son similares a las funciones normales que utilizamos a diario en MSExcel y que fueron explicadas al comienzo de este manual. Sin embargo, la gran diferencia estriba en la posibilidad de usar criterios que hacen que una suma considere slo los valores que cumplen con determinada condicin, por ejemplo. Puesto que no es el objetivo revisar todas y cada una de las funciones de Base de Datos, slo se considerarn las de uso ms popular, puesto que de esa forma se revisar la manera de usarlas, que es aplicable a aquellas funciones que no sern analizadas en esta seccin.

4.1

Rango de Criterios Las funciones de Base de Datos requieren para su operatoria que exista, adems de la base de datos, una zona donde se encuentre el nombre del campo al cual deseamos aplicar alguna condicin, el que debe ser idntico al nombre del campo en la base de datos (para evitar problemas con esto, se recomienda copiar el nombre del campo desde la base de datos al rango de criterios). Bajo este rtulo ir el criterio que utilizaremos para realizar nuestros clculos. Para revisar estas funciones utilizaremos la planilla mostrada a continuacin. En la celda H1 de la planilla, escriba o copie el rtulo SALARIO, puesto que sobre ese campo aplicaremos nuestros criterios. Bajo esta celda escriba >35000, que es el criterio que utilizaremos. La parte superior de la planilla debiera verse como muestra la imagen de la pgina siguiente:

33

MSExcel 2007 Avanzado MANEJO DE DATOS EN MSEXCEL

De ahora en adelante, las celdas H1 y H2 sern nuestro rango de criterios. Todas las operaciones que realicemos considerarn slo los registros que cumplan con la condicin SALARIO mayor que 35.000. En estas operaciones pueden utilizarse mltiples criterios para una misma funcin. En ese caso, el rango de criterios debe construirse de la forma ya indicada, agregando hacia la derecha los nombres de los campos que llevarn criterios. 4.2 BDSUMA, BDPROMEDIO, BDCONTAR Como ejemplo de cmo operan estas funciones, revisaremos ahora tres casos. En la celda H5 obtendremos la suma de los salarios de nuestra base de datos, que sean mayores a 35.000. En la celda H6 obtendremos el promedio de esos salarios. Y en la celda H7 obtendremos la cantidad de registros que cumplen con la condicin mencionada. El primer paso, entonces, es ubicarnos en la celda donde queremos aparezca el primer resultado. En nuestro ejemplo, se trata de la celda H5. Una vez all, llamamos al Asistente de funciones de MSExcel En la seccin izquierda del cuadro de dilogo, que muestra las categoras en las cuales estn clasificadas las funciones de MSExcel, seleccionamos Base de Datos. Aparecern, a la derecha, las funciones de dicha categora, ordenadas alfabticamente. Busque y seleccione la funcin BDSUMA. Al presionar Aceptar, se abre el siguiente cuadro de dilogo, que nos pide los parmetros que esta funcin requiere.

34

MSExcel 2007 Avanzado MANEJO DE DATOS EN MSEXCEL

En la casilla Base_de_datos se debe ingresar el rango que contiene la base de datos completa, incluyendo los encabezados de los campos (si ha usado un nombre de rea para definir el rango de la base de datos, puede escribirlo en la casilla, recordando no usar comillas). En nuestro caso, el rango de la base de datos es A1:F37. La casilla Nombre_de_campo nos pregunta por el nombre del campo que contiene los valores que, en este caso, deseamos sumar. El nombre del campo debe ser escrito entre comillas. Si lo desea, tambin tiene la posibilidad de usar el nmero que ocupa la columna a calcular dentro de la base de datos. Este nmero no debe ir en comillas. En nuestro caso, entonces, podemos usar indistintamente el nmero 5 (puesto que los sueldos estn en la quinta columna de la base de datos), o bien SALARIO. Finalmente, debemos indicar, en la casilla Criterios, el rango de criterios que deseamos utilizar, y que, en nuestro caso, corresponde al rango H1:H2. La ventana debiera aparecer de la siguiente forma:

Una vez que hemos completado la informacin, presionamos el botn Aceptar. En la celda H5 debiera aparecer el valor $ 238.800, que es la suma de todos aquellos sueldos mayores a $ 35.000.

35

MSExcel 2007 Avanzado MANEJO DE DATOS EN MSEXCEL Para calcular el promedio de esos sueldos, debemos ubicarnos en primer lugar en la celda H6 y luego llamar al Asistente de funciones. En la categora Base de Datos debemos seleccionar la funcin BDPROMEDIO. Esta funcin nos pedir los mismos parmetros que la funcin anterior, y que, en este caso al menos, son los mismos ya ingresados. Es decir, base de datos es A1:F37, la columna a sumar es SALARIO o 5, y los criterios se encuentran en H1:H2. Una vez ingresada la informacin y ya presionado el botn Aceptar, obtendremos el valor $ 39.800. Para finalizar, realizamos exactamente la misma operacin, pero ahora con la funcin BDCONTAR. A travs de ella sabremos el nmero de personas cuyo salario es superior a $ 35.000 es de 6.

36

MSExcel 2007 Avanzado TABLAS DINMICAS

Tablas Dinmicas
Si se construye la tabla siguiente, podremos ver que los clculos que aparecen en la parte inferior presentan ciertas dificultades a la hora de ser realizados:
Producto Ao Mes Ventas Unidades Vendedor Regin

Lcteos Lcteos Verduras Lcteos Lcteos Verduras Verduras Lcteos Verduras Lcteos Verduras Lcteos Verduras Lcteos Lcteos Lcteos Verduras Verduras Lcteos

1992 1992 1992 1992 1992 1992 1992 1992 1993 1993 1993 1993 1993 1993 1993 1993 1993 1993 1993

Ago Dic Jul Jul Jun Oct Oct Oct Apr Dic Dic Ene Feb Feb Mar Mar Oct Sep Sep

4.873 7.686 797 7.612 5.575 8.165 7.191 3.338 450 2.733 7.047 6.544 4.923 8.076 8.751 2.741 6.955 2.956 75

2.730 5.563 3.868 3.656 9.970 983 39 1.695 9.265 2.790 9.888 9.550 8.160 3.670 1.773 6.290 8.722 1.242 3.216

Buchanan Davolio Buchanan Buchanan Davolio Buchanan Davolio Davolio Davolio Davolio Davolio Davolio Davolio Davolio Buchanan Davolio Buchanan Buchanan Buchanan

Norte Norte Norte Sur Este Sur Norte Oeste Este Oeste Oeste Oeste Sur Sur Oeste Norte Este Oeste Este

Total ventas Total unidades Ventas Davolio Norte Ventas Davolio Sur Ventas Davolio Este Ventas Buchanan Norte Ventas Buchanan Sur Ventas Buchanan Este

96.488 93.070 17.618 12.999 6.025 5.670 15.777 7.030 1992 14.877 5.575 5.670 15.777 1993 2.741 12.999 450

7.030

Como se ve, en el cuadro resumen inferior se pretende conocer las ventas divididas por Vendedor, y a su vez divididas por regin. Estas, finalmente, se dividen por ao. Estos clculos, como se puede imaginar, son bastante complejos y tediosos de realizar, puesto que es necesario ir seleccionando celda por celda hasta obtener el resultado buscado. Este procedimiento puede originar que se comentan errores al seleccionar las celdas, los que a simple vista podran no ser notados, pero luego ser bastante significativos. En lugar de hacer este tipo de clculos, entonces, podemos utilizar las tablas dinmicas. sta es, seguramente, una de las herramientas ms poderosas y verstiles que MSExcel posee para el anlisis de datos. Adems, es bastante sencilla de usar, puesto que cuenta con asistente que nos gua a travs de los cuatro pasos necesarios para llegar a nuestra tabla. Para comenzar a construirla, debemos ir a Insertar/Tabla Dinmica. Aparecer entonces el siguiente cuadro de dilogo:

37

MSExcel 2007 Avanzado TABLAS DINMICAS

Este es el primer paso de un total de dos, y consiste en indicar el origen de los datos con los cuales se construir la tabla. La opcin por omisin un rango, de habernos ubicado dentro de la base de datos aparece marcado automaticamente. Tambin se pueden usar datos externos (como una base de datos Dbase, Foxpro, Etc.), rangos que hayan sido usados con una funcin Consolidar u otra Tabla Dinmica. Una vez indicado el origen de los datos, se presiona el botn Siguiente >.

Panel de Tabla Dinmica

Vista de Dinmica

Tabla

Para disear la tabla dinmica de toman los campos de la tabla y se van ubicando en los distintos sectores fila, columna, datos o valores los elementos que se usarn, La seccin PAGINA har que ese campo, por ejemplo Ao, sea convertido en una lista desplegable, la que nos muestra los aos disponibles. Al seleccionar alguno de ellos, el contenido de la tabla cambiar para mostrarnos slo los datos correspondientes a ese Ao. Tambin se incluye, en la lista desplegable, la opcin (Todos), que nos mostrar toda la informacin, independiente del Ao. La seccin COLUMNA nos permite ubicar los campos que deseamos que nuestra tabla muestre ordenados en columnas. Puede ser ubicado ms de un campo en esta seccin. De ubicar ms de un campo, el primer campo ubicado aparecer subdividido por el segundo. De ubicar un tercer campo, ste subdividir, a su vez, al segundo. 38

MSExcel 2007 Avanzado TABLAS DINMICAS La seccin FILA funciona exactamente igual que la seccin COLUMNA, con la diferencia que los datos puestos all estarn ordenados en filas. La seccin DATOS sirve para ubicar los campos que deseamos que la tabla muestre como resultado o valor.

39

MSExcel 2007 Avanzado MS-QUERY

IX MS-Query
Microsoft Query se usa para recuperar datos desde un origen de datos externo. Puede utilizar Microsoft Query para crear una consulta y recuperar los datos que desee de un origen de datos externo. Por ejemplo, puede recuperar datos de Microsoft MSExcel acerca de un producto especfico por regin. Tambin puede crear una consulta sencilla utilizando el Asistente para consultas o puede crear una ms compleja utilizando las funciones avanzadas de Microsoft Query. Para utilizar Microsoft Query con el fin de recuperar datos externos, debe: Tener acceso a un origen de datos externo Si los datos no se encuentran en su equipo local, es posible que tenga que pedir una contrasea, un permiso de usuario o cualquier otra informacin acerca de cmo conectarse a la base de datos al administrador de la base de datos externa. Para trabajar en este capitulo usaremos 2 Hojas de un Libro de MSExcel. Hoja 1 llamada Datos Personales

Por ejemplo veremos datos como: NOMBRE, CARGO, TELFONO Y FAX. Hoja 2 llamada Datos Trabajo

Por ejemplo veremos datos como: NOMBRE, DIRECCIN, CIUDAD Y PAS. 40

MSExcel 2007 Avanzado MS-QUERY Lo que haremos con MS-Query es unir las dos tablas en una nueva Hoja, deberemos asignar antes que todo Nombres Rango a las tablas de cada una de las Hojas. A la primera la llamaremos Base1 (Datos Personales) y a la segunda Base2 (Datos Trabajo).

En una Hoja nueva iniciaremos la opcin de MS-Query. sta se encuentra en la barra de men Datos/Obtener datos externos/Nueva Consulta de base de datos...

Aparecer la siguiente ventana con opciones para obtener orgenes de datos externos.

Seleccionaremos la opcin MSExcel Files* y luego presionaremos ACEPTAR.

41

MSExcel 2007 Avanzado MS-QUERY Aparecer la siguiente ventana donde tendr que buscar el archivo (libro) que contiene las dos hojas con informacin (datos personales y trabajo). Despus de encontrar este archivo presionaremos ACEPTAR.

Veremos el Asistente para Consultas activado para comenzar a trabajar, mostrndonos los dos libros (base1 y base2), recuerde que estos corresponden a los nombres rango que asignamos a las tablas en las 2 hojas. Veremos en la parte izquierda de esta ventana los nombres rangos con un + el que nos permitir si lo presionamos ver los diferentes ttulos de la tabla, repetir lo mismo para la base 2. Seleccionaremos para la base1 los campos NOMBRE, DIRECCIN, CIUDAD, PAS y de la base2 CARGO, TELFONO y FAX.

Para enviar los campos al rea de la derecha de la pantalla podemos hacer doble click sobre la descripcin. Luego de seleccionar presionaremos SIGUIENTE.

42

MSExcel 2007 Avanzado MS-QUERY

Podremos observar la siguiente ventana de advertencia que nos indicara que no existe una relacin para las dos tablas que estamos trabajando y que deberemos unirla o relacionarlas manualmente. Las descripciones o nombre de titulo que nos permitirn la unin o relacin ser el NOMBRE, nica manera de relacionar que para un NOMBRE existe una direccin y que para ese mismo NOMBRE existe un cargo. Presionaremos ACEPTAR para relacionar las dos tablas.

Como la tabla no esta relacionada nos muestra la unin de filas (registros) de ambas tablas 10 x 10 (base1 x base2), esto es 100 filas. Para que nos entregue la unin de todos los campos o columnas (ttulos) debemos relacionar o unir las dos tablas por el campo NOMBRE de la siguiente manera: Presione NOMBRE de la base1 y sin soltarlo parece en el NOMBRE de la base2, luego suelte el Click y vera una lnea delgada uniendo las dos tablas.

43

MSExcel 2007 Avanzado MS-QUERY

Ahora se vern las filas de informacin correspondiente a las dos tablas unidad en la consulta o Query (10 filas de informacin). Por otra parte, antes de insertar la nueva tabla resultante en nuestro nuevo archivo (libro) podemos generar algn criterio especial para estos datos. Si presionar el botn de Ocultar o ) de la barra de botones veremos que aparecer una nueva rea Mostrar los Criterios ( en la ventana de MS-Query.

rea de Criterios

44

MSExcel 2007 Avanzado MS-QUERY Aqu seleccionaremos a los clientes que su CARGO sea igual a Propietario. Para esto seleccionaremos en el rea de criterios el titulo CARGO y luego en la parte de abajo VALOR escribir Propietario. Veremos que despus de escribir y presionar [ENTER] se filtraran las filas correspondiente a los datos del criterio escrito

Por ultimo al cerrar la MS-Query nos preguntara en que celda de nuestro nuevo archivo (libro) deseamos situar los datos provenientes de nuestra consulta.

Seleccionaremos la que viene activada en la ventana Hoja de clculo existente, en la posicin $A$1 y luego presionaremos ACEPTAR. Aparecer en nuestra hoja los siguientes datos:

45

MSExcel 2007 Avanzado MACROS

X Macros
En palabras sencillas, una macro es una serie de rdenes que el usuario da a Microsoft MSExcel, con el fin de automatizar ciertas tareas. Estas rdenes estn escritas en un cdigo especial, derivado del lenguaje de programacin ms potente que posee Microsoft: Visual Basic for Applications. Este lenguaje est orientado a objetos, lo que quiere decir que cada cosa que nosotros vemos en la planilla de clculo MSExcel es un objeto que posee ciertas propiedades a las que se pueden asignar distintos valores. Sobre estos objetos, adems, podemos ejecutar diversas acciones. As, por ejemplo, un grupo de celdas (rango) es un objeto que, por ejemplo, puede ser seleccionado, o bien, puede ser cambiada la fuente (tipo de letra) de esa seleccin. En el primer caso, se trata de una accin (seleccionar) y en el segundo se trata de una propiedad a la que asignamos un valor. Dicho ahora entonces, en trminos ms tcnicos, una macro es una serie de instrucciones en lenguaje VBA (Visual Basic for Applications), las que consisten en acciones sobre un objeto o en el cambio de alguna de sus propiedades. Para obtener una macro, sin embargo, no es necesario en un nivel bsico escribir cada una de las instrucciones de VBA. MSExcel incluye una herramienta para el trabajo de macros que simplifica tremendamente la tarea. Se trata del Grabador de Macros. Esta herramienta almacena, desde que se activa hasta que se detiene, todas las acciones que realicemos en MSExcel, al tiempo que las va traduciendo a lenguaje VBA. Luego esta macro puede ser ejecutada por el usuario, lo que har que MSExcel repita, en el mismo orden y secuencia, las instrucciones almacenadas durante el proceso de grabacin. Este sistema de generacin de macros es bastante til cuando no se poseen los conocimientos suficientes, pero al replicar solamente acciones ya realizadas, es absolutamente rgido y bastante limitado. Es por estas razones que en un primer momento revisaremos el Grabador de macros, con el fin de poder utilizar esta herramienta para construir, al menos, la base de nuestra macro, para ms adelante ver el uso de variables, de controles, cuadros de dilogo y estructuras de control, que nos permitirn darle a la macro toda la flexibilidad que necesita.

46

MSExcel 2007 Avanzado MACROS

El Grabador de Macros
En MSExcel existen dos caminos para construir una macro. El primero, y el ms sencillo, es utilizar el Grabador de macros de MSExcel. ste permite ejecutar una serie de pasos, los que son registrados para luego ser reproducidos en el mismo orden y secuencia original. La reproduccin de los pasos realizados durante la grabacin de la macro es estricta, por lo que si realizamos n acciones equivocadas antes de realizar lo que desebamos originalmente, esas n acciones equivocadas se repetirn cada vez que ejecutemos nuestra macro. Dado este mtodo particular de trabajo, se recomienda confeccionar una pauta, tan detallada como sea posible, de las acciones a ejecutar, para evitar errores durante la grabacin de la macro y que sta realice acciones innecesarias o repetitivas. Para trabajar con las macros debemos activar la etiqueta Programador y eso se hacen entrando a las opciones de Excel y dando el tiquet en Show Developer tab in the Ribbon, como se muestra en la imagen

Para conocer el grabador de macros, construiremos una macro que permita dar formato a los ttulos de nuestras planillas. En la celda A1 de una hoja en blanco escriba lo siguiente:

Bajo este ttulo se encuentra nuestra planilla imaginaria, la cual abarca hasta la columna F. Por lo tanto, queremos que el formato del ttulo sea: centrado entre las columnas A y F, letra Comic Sans MS4, tamao 18, cursiva, de color azul, y el fondo de las celdas en color amarillo. Antes de aplicar el formato, entonces, activaremos el grabador de macros de la siguiente forma: a) Seleccione el rango A1:F1 (que es el rango al que aplicaremos el formato). b) Ejecute de la etiqueta Herramientas/Macro/Grabar nueva macro.
4

Si esta fuente no se encuentra disponible en su PC, utilice una fuente alternativa.

47

MSExcel 2007 Avanzado MACROS Aparecer la siguiente ventana:

En la primera casilla, debemos escribir el nombre que daremos a la macro. Este nombre puede ser cualquier palabra que no sea utilizada por MSExcel (por ejemplo, si estamos haciendo una macro para imprimir, no podemos usar el nombre Imprimir, pero s cualquier otra palabra similar). En la casilla para mtodo abreviado debemos presionar Control ms alguna tecla particular. Esto har que cada vez que presionemos Control + tecla la macro se ejecute. La casilla Guardar macro en: nos entrega las siguientes opciones: o Este libro, lo que hace que la macro sea parte del libro que estamos usando. Esto impide que podamos utilizar la macro cuando este libro se encuentre cerrado. Libro de macros personal. Este libro se abrir, en forma oculta, cada vez que iniciemos Microsoft MSExcel, con lo que la macro estar siempre disponible para ser usada en todos los libros. Libro Nuevo, que ubica la macro en un nuevo libro. Tiene las mismas desventajas que la primera opcin.

No siempre la mejor opcin es guardar las macros en el libro personal de macros, puesto que ste usar espacio en memoria, lo que har trabajar ms lento el equipo, y en ocasiones la macro est hecha para trabajar precisamente en un libro particular y no es vlida para otros libros (por ejemplo, una macro que realice complejos clculos a partir de cierta informacin particular). La descripcin es un comentario que no tiene ms incidencia que, a la hora de ver un listado de las macros disponibles podamos ver una leyenda que nos permita identificar cada macro. Una vez ingresada toda la informacin, presionamos el botn Aceptar. En la barra de estado aparecer el mensaje Grabando

Ahora debemos centrar el texto en el rango A1:F1, ejecutar la etiqueta Inicio/Formato/Celdas, y all escoger la ficha Fuente. Debe indicar, entonces, la letra Comic Sans MS, el estilo Regular Cursiva, el tamao 18 y el color azul. Una vez hecho esto, presionar Aceptar. Enseguida seleccionar, en la barra de herramientas, el color de fondo amarillo. Nuestro rango debiera aparecer as:

En ese momento debemos detener la grabacin.

48

MSExcel 2007 Avanzado MACROS Podemos seleccionar el rango que acabamos de dar formato, ir a la etiqueta Inicio/Borrar/Formatos. Con esto quedar el texto tal como estaba antes de comenzar a grabar la macro. Volvamos a seleccionar el rango A1:F1 y presionemos Control+ la tecla que hayamos seleccionado en el mtodo abreviado. Si el formato vuelve a ser el de la figura precedente, nuestra macro est funcionando. Y sin escribir una sola lnea.

49

MSExcel 2007 Avanzado MACROS

Ejecutar una macro


Existen varias formas de ejecutar una macro, entre las que destacan: Mtodo Abreviado. Men Herramientas, opcin Macro. Botn personalizado. Botn en la barra de herramientas. A partir de otra macro.

2.1

Mtodo abreviado El mtodo abreviado slo puede ser asignado al momento de iniciar el grabador de macros. ste consiste en una tecla, que presionada junto a Control (tambin se puede usar la combinacin Control+Mays+Letra) nos permite ejecutar inmediatamente una macro.

2.2

Etiqueta Programador, opcin Macros Al seleccionar dicha opcin, aparecer un cuadro con un listado de las macros con que contamos. Slo debemos seleccionar la macro que deseamos ejecutar, y luego presionar el botn Ejecutar.

El lenguaje VBA
Como vimos en la seccin anterior, nuestra macro funcionar sin que hayamos escrito una sola lnea de comandos (llamada tambin lnea de cdigo). Sin embargo, cada accin realizada durante la grabacin, como mencionamos en la introduccin, se traduce en una instruccin VBA.

50

MSExcel 2007 Avanzado MACROS Este lenguaje es una derivacin, especialmente creada para los programas miembros de Office, del lenguaje de programacin Visual Basic. Por lo tanto, las macros son programas construidos por Excel (cuando usamos el grabador) o por nosotros mismos.

3.1

El Editor de Visual Basic

Ahora bien, estos programas se escriben en una parte especial de Excel llamada Editor de Visual Basic. A este se puede acceder a travs de la opcin Macro de la etiqueta Herramientas. Al llamarlo, tendremos acceso a la siguiente ventana:

En esta ventana podemos encontrar varias secciones, que se describen a continuacin.

La parte superior contiene la barra de Men del Editor de Visual Basic, que contiene todas las opciones que podemos utilizar en esta seccin. Inmediatamente ms abajo encontramos la barra de herramientas, que contiene botones que permiten un acceso ms rpido a las mismas opciones contenidas en la barra de men.

51

MSExcel 2007 Avanzado MACROS En la parte superior izquierda encontramos la ventana de proyecto. Cualquier libro de Excel es considerado, por el Editor de Macros, como un proyecto. Este proyecto est subdividido en las hojas del Libro (Hoja1, Hoja2, etc.) ms un objeto que engloba a las anteriores y que identifica a nuestro libro completo (This Workbook). En el caso de que nuestro libro contenga macros, estas aparecen dentro de una carpeta, que forma parte del proyecto, y que recibe el nombre de Mdulo 1. Por lo general, las macros grabadas en una misma sesin se almacenan en un mismo mdulo, mientras que las macros grabadas en sesiones posteriores van generando nuevos mdulos. Sin embargo, para fines de orden, en el caso de proyectos grandes que incluyen muchas macros, es posible generar los mdulos que deseemos y distribuir en ellos nuestras macros (Para insertar un mdulo, simplemente tiene que ir a la etiqueta Insertar y escoger Mdulo).

La ventana que aparece inmediatamente abajo es la que nos muestra las propiedades del objeto que tengamos seleccionado. En la imagen precedente podemos ver que el objeto seleccionado en la ventana Proyecto es Mdulo 1, y en la ventana inferior vemos que su nica propiedad es (Name) (Nombre), la que actualmente tiene el valor Mdulo 1, el que puede ser cambiado por el usuario.

En la ventana de la derecha podemos ver el contenido, en trminos de cdigo, del mdulo 1, el que consiste precisamente en la macro creada a travs del grabador. En esta ventana podemos escribir al igual que en cualquier procesador de palabras bsico, utilizando el teclado y algunos comandos como Cortar, Copiar y Pegar. Para agilizar la escritura de cdigo, el Editor de Visual Basic nos va presentando ayuda a travs de una pequea ventana emergente que contiene los nombres de las instrucciones y su sintaxis:

3.2

Descripcin del Lenguaje

Como ya se mencion, el lenguaje VBA est orientado a objetos. Es decir, bsicamente sus instrucciones consisten en cambios al valor de una propiedad de un objeto o a acciones realizadas sobre ese objeto. Esto determina que las instrucciones del lenguaje hagan referencia en primer lugar al objeto y enseguida a la propiedad o accin. Estas instrucciones se escriben en orden secuencial, y es de esta misma forma como se ejecutarn. Vale decir, la ejecucin ocurrir de la primera a la ltima instruccin pasando por todas las intermedias, a menos que incluyamos ciertas instrucciones que corten o redireccionen la ejecucin. La estructura de sintaxis bsica del lenguaje es, entonces: objeto.propiedad[.subpropiedad] = valor

52

MSExcel 2007 Avanzado MACROS Por ejemplo: ActiveCell.Font.Name = Times New Roman Donde ActiveCell es la celda actualmente seleccionada, Font es la propiedad Fuente (tipo de letra) y Name es la subpropiedad nombre de la fuente, mientras que Times New Roman es el valor que estamos asignando a esa propiedad5. Otro ejemplo: Range(A1:F1).Select Donde Range(A1:F1) indica que el objeto es el rango comprendido entre las celdas A1 y F1, mientras que Select es la accin a realizar sobre ese objeto. En este caso, seleccionarlo. A pesar de lo sealado, existen ciertas instrucciones que tienen su sintaxis propia, la que ser revisada ms adelante.

Otras caractersticas del lenguaje Lneas de inicio y trmino Toda macro, contenida dentro de un mdulo, tiene un par de lneas de instrucciones que no pueden dejar de ir. Estas lneas indican el inicio y el trmino de la macro, y por lo tanto son absolutamente necesarias para la ejecucin de las mismas. Estas lneas son las siguientes: Sub nombre_de_la_macro() Donde Sub es la palabra clave que identifica el comienzo de nuestra macro. A continuacin va el nombre con que identificamos la macro y enseguida un juego de parntesis que indican que esta macro no necesita parmetros6. Adems de esta lnea inicial existe una lnea final: End Sub Esta lnea le dice a Excel que la macro comenzada ms arriba ha llegado a su fin. Lneas de comentarios En ocasiones es necesario agregar a nuestras macros ciertas indicaciones que nos sirvan a nosotros o a otros para identificar ciertos procesos, sealar determinados eventos, etc. Estas lneas no intervienen en el funcionamiento de la macro y pueden ser escritas en lenguaje corriente. Para que sean comentarios, sin embargo, deben estar precedidas de un apstrofe (). Este smbolo es el que le seala a Excel que todo lo que viene enseguida y hasta el fin de la lnea es un comentario. Por ejemplo:

No todas las propiedad se encuentran divididas en subpropiedades, y las que s los estn no necesariamente poseen las mismas. Esto variar, entonces, de una propiedad a otra. Adems de las macros de comandos (macros que ejecutan y automatizan tareas) existen macros de funcin, que realizan el clculo que el usuario haya estipulado, a partir de determinados parmetros. En esos casos los parmetros van en parntesis.

53

MSExcel 2007 Avanzado MACROS Esta macro es un ejemplo O bien: Worksheets(Hoja1).Select Estamos seleccionando la hoja 1 En el primer ejemplo, toda la lnea es un comentario, mientras que en el segundo caso, la lnea incluye una instruccin (Worksheets(Hoja1).Select) y enseguida el comentario, a partir de un apstrofe. 3.3 Colores distintivos VBA utiliza ciertos colores para distinguir las palabras que conforman nuestra macro. El texto de color negro seala a los objetos, las propiedades, sus valores y las acciones que indicamos VBA debe realizar. El texto en color azul seala palabras claves de macros que representan instrucciones precisas. As, por ejemplo, al escribir IfThen (SiEntonces), ambas palabras aparecern en color azul. Estas palabras corresponden a palabras reservadas que no pueden ser utilizadas como nombres de variables o nombres de macros. El texto en color rojo nos indica que hemos cometido algn error en la sintaxis o que esta se encuentra incompleta. Por lo general, va acompaado de un mensaje emergente de error. Finalmente, el texto en color verde nos seala que se trata de un comentario que no tiene incidencia en la ejecucin y funcionamiento de la macro.

3.4

Anlisis de la macro anterior

Con esta informacin en cuenta, podemos proceder a analizar la macro grabada en la seccin primera. Cabe sealar que, por tratarse de una macro grabada, el orden de las lneas podr variar entre lo sealado en la muestra y lo obtenido por usted. La macro grabada dice lo siguiente: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Sub form() ' ' form Macro ' Macro grabada por EDUTECNO ' ' Acceso directo: Ctrl+Mays+F ' With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .ShrinkToFit = False .MergeCells = False End With Selection.Merge With Selection.Font

54

MSExcel 2007 Avanzado MACROS 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 .Name = "Times New Roman" .FontStyle = "Negrita Cursiva" .Size = 18 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = 5 End With With Selection.Interior .ColorIndex = 6 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With End Sub

(Hemos numerado las lneas slo para fines explicativos. Las macros en VBA no utilizan nmeros de lnea) Como ya vimos, la lnea 1 indica el comienzo de la macro. Las lneas 2, 3, 4, 5, 6 y 7 son comentarios agregados por el grabador de macros que incluyen el mtodo abreviado de ejecucin y el nombre que aparezca como propietario de Excel. En la lnea 8 aparece una estructura de control denominada With, que en realidad incluye todo el grupo de lneas hasta la nmero 15, donde encontramos End With. Este grupo lo que hace es abreviar la escritura de la macro, ya que como vemos, a continuacin de la palabra With se encuentra el objeto Selection. Podemos ver que las lneas 9 a 14 comienzan por un punto, omitiendo el objeto. Lo que hace With es indicarles a las lneas siguientes que el objeto con que trabajan es el se encontraba a continuacin de With, y ese es el que deben utilizar. Por ejemplo, podemos ver en la siguiente tabla las mismas lneas de macros con y sin With: Utilizando With With Selection .HorizontalAlignment=xlCenter .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .ShrinkToFit = False .MergeCells = False End With Sin utilizar With Selection.HorizontalAlignment=xlCenter Selection.VerticalAlignment = xlBottom Selection.WrapText = False Selection.Orientation = 0 Selection.ShrinkToFit = False Selection.MergeCells = False Como vemos en la tabla 2, en todas las lneas fue necesario anteponer el objeto Selection, mientras que en la primera slo lo agregamos a continuacin de With. Las lneas interiores del With realizan lo que puede ser fcilmente traducible. As, la lnea 9 establece que la propiedad Alineacin Horizontal (HorizontalAlignment) tiene el valor centrado (otros valores pueden ser xlLeft (Izquierda), xlRight (Derecha). 55

MSExcel 2007 Avanzado MACROS La lnea 10 asigna el valor Abajo (xlBottom) a la propiedad Alineacin Vertical (VerticalAlignment). Otros valores son xlTop (Arriba) y xlCenter (Centrado). La lnea 11 nos dice que la propiedad Ajustar Texto (WrapText) es Falsa (False). El otro valor puede ser True (Verdadero). La lnea 12 indica que la orientacin del texto (Orientation) es 0, correspondiendo este nmero a la cantidad de grados con relacin al plano horizontal. Otros valores pueden ser cualquier nmero entero entre 90 y 90. La lnea 13 asigna el valor Falso (False) a la propiedad Reducir hasta Ajustar (ShrinkToFit). El otro valor puede ser True (Verdadero). Por ltimo, la lnea 14 dice que no se deben combinar las celdas de dicho rango. El otro valor posible es Verdadero (True). Como podemos ver, las propiedades que en las ventanas de Excel aparecen con casillas de verificacin, tambin estn disponibles en las macros, a travs de su nombre en Ingls y su valor representado por True (seleccionada) y False (no seleccionada). La lnea 16 indica que las celdas de la seleccin deben ser combinadas (accin similar a la del botn Combinar Celdas de la barra de herramientas Formato. La lnea 17 abre un nuevo With, esta vez con el objeto Selection y la propiedad Font. Esto quiere decir que las lneas siguientes, a partir del punto, hacen referencia a subpropiedades de la propiedad Font. La lnea 18 asigna el valor Times New Roman a la subpropiedad Name. Otros valores para esto son cualquier nombre de fuente disponible en el equipo. La lnea 19 asigna el estilo Negrita Cursiva a la subpropiedad FontStyle. Los otros valores disponibles son cualquier nombre de estilo vlido en nuestro equipo (Los ms frecuentes son: Regular, Negrita, Cursiva y Negrita Cursiva). La lnea 20 asigna el valor 18 al tamao de letra. Los otros valores disponibles son cualquier tamao de fuente vlido, generalmente entre 8 y 72. La lnea 21 indica que el texto no ir tachado (StrikeThrough). El otro valor posible corresponde a True, que seala que el texto s debe ir tachado. Las lneas 21 y 22 indican que las propiedades superndice (Superscript) y subndice (Subscript) son falsas. El otro valor posible, para ambas, es True (Verdadero). Las lneas 24 y 25 nos sealan que los efectos Contorno (OutlineFont) y Sombra (Shadow) no deben aplicarse. Al igual que en los casos anteriores, el otro posible valor, para ambas, es True (Verdadero). La lnea 26 seala que el texto no va subrayado, mientras que la lnea 27 seala que el color es 5 (VBA maneja cdigos internos de colores). La lnea 28 indica que se ha dejado de trabajar con el objeto Selection, propiedad Fuente. La lnea 29 seala que se trabajar con el objeto Selection, propiedad Interior. La lnea 30 asigna al color de la celda (trama) el nmero 6, equivalente al amarillo. La lnea 31 asigna el diseo de la trama como Slido, y la lnea 31 asigna el valor Automtico a la propiedad Color de diseo. Para terminar, la lnea 33 cierra el ltimo With abierto, y la lnea 34 da trmino a la macro.

Otras instrucciones de macros

Como hemos visto hasta ahora, el grabador permite convertir la mayora de nuestras acciones cotidianas en Excel a una macro, para as automatizarlas. Sin embargo, el grabador de macros es totalmente rgido, pues siempre realizar las mismas acciones y asignar los mismos valores a las mismas propiedades. Se hace necesario entonces, para potenciar el desempeo de nuestra macro, meter las manos y modificar lo que hayamos grabado, o bien escribir la macro desde el principio hasta el final.

56

MSExcel 2007 Avanzado MACROS Es por eso que ahora revisaremos otras instrucciones de macros, entre las que destacan el uso de variables y de estructuras de control.

Uso de Variables Las variables son espacios de memoria reservados que almacenan un valor que puede cambiar, cuyo origen puede estar en el usuario, o bien ser el fruto de un clculo realizado en forma interna por la macro. Las variables en VBA pueden ser de diversos tipos, dependiendo del tipo de dato que vayan a almacenar y pueden ser o no declaradas, es decir, podemos decirle a Excel que existen antes de usarlas, o bien omitir este paso y usarlas directamente. Es conveniente, sin embargo, declararlas, puesto que de lo contrario Excel le asignar un tipo especfico de variables que ocupa ms recursos de los necesarios. Declaracin de Variables Para declarar una variable, slo basta con escribir la sentencia Dim, seguida del nombre de la variable, a continuacin la palabra As y luego el tipo de variable. Es decir: Dim nombre As Tipo Los tipos de variables disponibles en Excel son los siguientes: Boolean, permite slo valores True (verdadero) y False (Falso). Es una variable de carcter lgico. Integer es una variable que permite guardar nmeros de tipo entero (sin decimales), y de corto alcance. Long crea variables que, al igual que la anterior, slo contiene enteros, pero de mayor longitud que Integer. Currency puede contener datos numricos con formato moneda, con dos decimales. Single contiene nmeros fraccionarios, pero al igual que Integer, de menor longitud. Double puede contener nmeros fraccionarios, pero de mayor longitud que los Single. Date puede contener datos tipo fecha, en el formato DD/MM/AA7. String se usa para variables que van a contener texto, cuya longitud puede ser variable. Almacena hasta 63000 caracteres. String*x define una variable de tipo texto, pero cuya longitud est determinada por el nmero que definamos en x. Variant puede almacenar cualquier tipo de dato sealado en los tipos anteriores. Por ejemplo, para definir una variable que va a contener nombres, podramos escribir: Dim nomb As String Donde nomb es el nombre de la variable y String le indica que contendr cadenas de texto. Asignacin de valores a una variable Como sealbamos ms arriba, una variable puede obtener su valor como resultado de un clculo realizado por la misma macro, o desde el usuario. En el primer caso, la forma de la instruccin es la siguiente: Variable = Operacin Por ejemplo: saldo = 3500 2700

7 Las variable almacena la informacin en ese formato, pero la mostrar, en alguna celda, de acuerdo al formato que esta tenga.

57

MSExcel 2007 Avanzado MACROS En el segundo caso existen, entre otras, dos posibilidades: obtener el valor a travs de un cuadro de dilogo u obtener el valor a partir de una determinada celda. La primera posibilidad ser analizada ms adelante, cuando revisemos el funcionamiento de las macros con cuadros de dilogo. La segunda empero, funciona de la siguiente manera: Range(celda).Select Variable = ActiveCell Por ejemplo: Range(A1).Select nomb = ActiveCell La primera lnea es necesaria, a pesar de no tener directa relacin con la asignacin de valor de una variable, ya que primero debemos decirle a Excel que fije su atencin en la celda que necesitamos. Enseguida, al estar seleccionada, el objeto pasa a tener otro nombre (ActiveCell) y luego se realiza la asignacin de valor. Cabe sealar que si la asignacin se realiza al revs (ActiveCell = nomb, por ejemplo), estaremos traspasando a la celda el valor que actualmente tiene la variable.

Macro para el uso de variables En este ejercicio trataremos de mostrar cmo podemos utilizar las variables dentro de una macro. Para comenzar, se debe crear la siguiente planilla en la Hoja2 del libro de trabajo:

Nota: es importante destacar que para el adecuado funcionamiento de la macro, los textos deben ser digitados en la misma forma en que se encuentran en la figura precedente. Deber, tambin, seleccionar el rango A2:A10 y asignarle el nombre Fuentes. Al rango B2:B5 el nombre Estilos. El rango C2:C12 debe llevar el nombre Tamaos, y el rango D2:E11 el nombre Colores8. Luego, en la Hoja1 de nuestro libro, debemos crear la siguiente planilla, con la ayuda de la barra de Herramientas Formulario9:

Si no recuerda cmo asignar nombres a rangos, remtase al manual de Microsoft Excel 97 Intermedio.

58

MSExcel 2007 Avanzado MACROS

Enseguida, deber asignar a las listas desplegables lo siguiente: Lista Desplegable Rango de entrada Vincular con la celda Fuente: Hoja2!Fuentes A41 Estilo: Hoja2!Estilos A42 Tamao: Hoja2!Tamaos A43 Color de Fuente: Hoja2!Colores A44 Color de Fondo: Hoja2!Colores A45 Si presionamos nuestras listas desplegables, veremos que cada una nos muestra lo correspondiente a la Hoja2 de nuestro libro. Y si observamos las celdas B41 a B45 de la Hoja1, encontraremos 5 nmeros, que representan el nmero, en sentido vertical, de la posicin del tem seleccionado dentro de su lista correspondiente. Ahora, escriba las siguientes frmulas en las celdas indicadas10: B41 B42 B43 B44 B45 =INDICE(FUENTES;A41;1) =INDICE(ESTILOS;A42;1) =INDICE(TAMAOS;A43;1) =INDICE(COLORES;A44;2) =INDICE(COLORES;A45;2)

En las celdas sealadas en la tabla debern aparecer los tems seleccionados en las listas desplegables, a excepcin de los colores, puesto que veremos slo sus cdigos. Ahora, seleccione la subopcin Grabar nueva macro dentro de la opcin Macro de la etiqueta Herramientas. El nombre de la macro ser macrovar. No asigne ningn mtodo abreviado y pdale que guarde la macro en Este libro. Cuando la macro se est grabando, seleccione el rango A1:G1 y luego vaya a la etiqueta Formato. En este men, seleccione la opcin Celdas. Vaya a la ficha Fuentes y all asigne una fuente, un estilo, un tamao y un color, sin importar cuales. Luego vaya a la ficha Tramas y seleccione cualquier color de fondo. Presione Aceptar y detenga el grabador de macros. Ahora vaya a la etiqueta Herramientas, seleccione la opcin Macro y dentro de ella la opcin Macros. Pinche en macrovar y presione el botn Modificar. Elimine las lneas intiles de la macro, hasta que quede como esta: Range("A1:G1").Select With Selection.Font .Name = "Albertus Xb (W1)" .FontStyle = "Negrita" .Size = 9 .ColorIndex = 20 End With

Si tiene dificultades para la creacin de los controles (listas desplegables y botones personalizados) consulte el Manual Microsoft Excel 97 Avanzado, en el captulo Creacin de una calculadora que no permite errores.
10 Si no recuerda la funcin de la frmula INDICE, consulte el Captulo Construccin de una calculadora que no permite errores en el Manual de Excel 97 Intermedio.

59

MSExcel 2007 Avanzado MACROS With Selection.Interior .ColorIndex = 5 End With End Sub No se preocupe por lo que aparece al lado derecho de cada signo igual, pues ser distinto dependiendo de lo que usted haya escogido en las fichas Fuentes y Tramas de la opcin Celdas de la etiqueta Formato. Ahora, antes de la lnea Range(A1:G1).Select, agregue las siguientes lneas: Dim nomf, estf As String Dim tamf, colfuente, colfondo As Integer Range(B41).Select nomf = ActiveCell Range(B42).Select estf = ActiveCell Range(B43).Select tamf = ActiveCell Range(B44).Select colfuente = ActiveCell Range(B45).Select colfondo = ActiveCell Las lneas Dim nomf, estf As String y Dim tamf, colfuente, colfondo As Integer nos permiten crear o dimensionar las variables que utilizar nuestra macro. Las lneas de macro que vienen a continuacin indican que: Excel seleccionar la celda B41 (Range(B41).Select), lo que har que pase a ser la celda activa. La variable va a ser igual al valor que contenga la celda activa (ActiveCell). Estos dos pasos se repiten para las 5 celdas, para las 5 variables. A continuacin, debemos ir a la parte de la macro creada por el grabador (ver pgina 2) y modificar lo siguiente: Range("A1:G1").Select With Selection.Font .Name = "Albertus Xb (W1)" .FontStyle = "Negrita" .Size = 9 .ColorIndex = 20 End With With Selection.Interior .ColorIndex = 5 End With End Sub Range("A1:G1").Select With Selection.Font .Name = nomf .FontStyle = estf .Size = tamf .ColorIndex = colfuente End With With Selection.Interior .ColorIndex = colfondo End With End Sub

Esta modificacin har que, al ejecutarse la macro, esta asigne a la muestra el formato de acuerdo a los valores que se encuentran en las celdas B41, B42, B4, B44 y B45. Y si recordamos el comienzo del ejercicio, esas celdas son las que reciben informacin a partir de lo seleccionado en las listas desplegables. Ahora, pinche con el botn derecho del Mouse sobre el botn creado y seleccione la opcin Asignar Macro. Aparecer una ventana con todas las macros que poseemos, entre las que debemos seleccionar macrovar.

60

MSExcel 2007 Avanzado MACROS

Seleccione los tems que desee en las listas desplegables y luego presione el botn.

Estructuras de Control

(Nota: Las palabras en parntesis cuadrados son opcionales, y pueden ser omitidos o agregados de acuerdo a las necesidades de cada macro). Como ya sabemos, una macro es una serie de instrucciones, las que se ejecutarn ante una orden del usuario, siempre en el mismo orden. Esto es lo que puede verse a travs del grabador de macros: cuando ejecutamos una macro que fue grabada, incluso los errores que cometimos durante la grabacin se repiten, en los mismos momentos en que los incluimos en la macro. Sin embargo, y dada la naturaleza de algunas macros, existe la necesidad de alterar el funcionamiento de la macro, para que, ante distintas situaciones, reaccione de distinta manera. Esto puede hacerse a travs de ciertos bloques de instrucciones, que conducen el flujo de ejecucin de un programa de acuerdo a ciertas condiciones. Estos bloques de estructuras son las denominadas estructuras de control.

5.1

If

Sin duda una de las estructuras de control ms conocida es If. Esta permite que nuestra macro verifique si una condicin se cumple, lo que desencadenar ciertas acciones. La sintaxis de esta estructura es la siguiente: If condicin-1 Then [instrucciones-1] [ElseIf condicin-2 Then [instrucciones-2]] [Else [instrucciones-n]] End If Si se cumple condicin-1 se ejecuta el bloque de instrucciones instrucciones-1. Si no se cumple condicin-1 pero s se cumple condicin-2, entonces se ejecuta el bloque de instrucciones intrucciones-2. Se pueden seguir agregando subcondiciones ElseIf , y si no se cumple ninguna de ellas, entonces se ejecuta el bloque de instrucciones instrucciones-n que est dentro de Else. Ejemplo: If result >= 4 Then MsgBox(Aprobado) Else MsgBox(Reprobado) End If

5.2

Select Case

61

MSExcel 2007 Avanzado MACROS Select Case se utiliza en aquellas situaciones en que una variable puede tener distintos valores, y cada valor, en cada caso, gatillar acciones distintas. La sintaxis de esta funcin es la siguiente: Select Case expresin Case lista_de_valores-1 Instrucciones-1 [Case lista_de_valores-2 instrucciones-2] [Case Else instrucciones-n] End Select Esta funcin compara el valor de expresin con todos los posibles valores listados en lista_de_valores-1, lista_de_valores-2, etc. Si encuentra una coincidencia con algn valor dentro de una de estas listas, ejecuta el bloque de instrucciones correspondiente a la lista de valores en donde encontr el valor coincidente; en caso de no haber ninguna coincidencia, ejecuta el bloque de instrucciones instrucciones-n que est dentro de Case Else. Ejemplo: Select Case result Case 0 To 3 MsgBox(Examen en Marzo) Case 4, 5, 6 MsgBox(Aprobado) Case 7 MsgBox(Aprobado con distincin!!) Case Else MsgBox(Nota no Vlida) End Select

62