Professional Documents
Culture Documents
Suite Ofimática
Avanzado
2010
1
Excel 2010
Suite Ofimática
Disposiciones generales
I.- Con la finalidad de optimizar el aprendizaje de nuestros estudiantes y prestar un mejor
atención, 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 optimización
de los conocimientos entregados a los alumnos.
Las personas que lleguen después de los 10 primeros minutos de comenzada la clase,
serán considerados como atrasados.
Los alumnos que falten a la evaluación final, deberán comunicarse directamente con el
encargado de capacitación de su empresa para justificar su inasistencia y a través de él coordinar
la rendición de la prueba pendiente. Este proceso debe realizarse en un plazo no posterior a 1
semana después de finalizado el curso, pasado este tiempo, el alumno será reprobado por nota.
Contenido
Disposiciones generales ......................................................................................................... 2
Contenido ............................................................................................................................... 3
Introducción ............................................................................................................................ 5
Consolidar .............................................................................................................................. 6
Solver .................................................................................................................................................. 17
Uso de Solver.................................................................................................................................. 17
Informes ......................................................................................................................................... 21
Validación ............................................................................................................................. 27
Mensajes ............................................................................................................................................ 29
Filtros.................................................................................................................................................. 34
4
Filtro Avanzado............................................................................................................................... 34
Botones .......................................................................................................................................... 39
MS-Query ............................................................................................................................. 60
Macros ................................................................................................................................. 68
El Grabador de Macros....................................................................................................................... 69
Método abreviado.......................................................................................................................... 72
Select Case...................................................................................................................................... 85
Introducción
El objetivo final de cualquier curso avanzado de MSEXCEL 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 mágicas con las que podemos conseguir resultados extraordinarios. Ya estas
personas tenderán a tratar de resolver cualquier tarea que parezca compleja por medio de macros.
Éste es un lamentable error, ya que en la mayoría de las ocasiones existen herramientas de MSEXCEL
que pueden realizar nuestros requerimientos en forma más sencilla, rápida y eficiente que si se
construyera una macro.
Por esto, en una primera etapa nos abocaremos al estudio de algunas herramientas que nos evitarán
la construcción de algunas macros en el futuro.
También se verá, en una segunda parte, el proceso de construcción de macros y su utilidad práctica
para automatizar las tareas más comunes y complejas.
6
Consolidar
Es frecuente en MSEXCEL encontrar libros que contienen una misma tabla repetida en varias hojas.
Estas tablas es la información de detalle que luego servirá para construir una tabla resumen. También
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 herramienta de Consolidar, la que nos permite generar
una tabla resumen a partir de dos o más tablas de detalle. El único requisito para usar esta función
es que las tablas que contienen los datos a resumir tengan información afín en su estructura, tanto
en columnas como en filas, si bien no es obligatorio que contengan los mismos datos como
elementos, si debe tener la misma información como concepto, por ejemplo vendedores, sucursales,
regiones, independiente que en las diferentes tablas existan más o menos vendedores, por ejemplo.
Entonces debemos ubicarnos en la Hoja Resumen, en la celda A2, ya que es allí donde
queremos que comience la tabla consolidada (o resumen).
b) Enseguida ejecutar de la Ficha Datos / Consolidar, lo que hará aparecer el cuadro que
se muestra a continuación:
Una vez que aparece este cuadro, los pasos a seguir son los siguientes:
Luego de estos pasos, en la Hoja 4 aparecerá una tabla de la misma estructura que la
anterior, pero cuyos datos consistirán en el resultado de la función que hayamos
aplicado a los datos de origen, y cuyo aspecto es el siguiente:
Los números de las filas de MS EXCEL se encuentran saltados (2, 6, 10, 14, etc.), lo que
indica que existen filas que no se están mostrando:
Al costado izquierdo de los números de fila, encontramos
además 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.
En este ejemplo aparece escrito “Ventas” que corresponde al nombre del libro
de donde se obtuvo la información, y cada celda valor que hay en este libro
para el artículo “Alfajores”
1
Interprete “+” como “para ver más”
Si deseamos agregar o quitar una referencia a las que están consideradas en la tabla resumen,
solamente se debe ubicar en la primera celda de la tabla resumen, volver a seleccionar la opción 9
Consolidar de la ficha Datos y se verá, en la casilla “Todas las referencias” los rangos que están
considerados en la consolidación. Para eliminar, se debe seleccionar el rango de la lista y luego
presionar el botón “Eliminar”.
Para agregar, basta con seleccionar un nuevo rango y luego presionar “Agregar”.
Opciones de esquema
Al usar la herramienta Consolidar (también en Subtotales) habrá notado que aparecen algunos
botones a la izquierda de los títulos 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, sólo son aprovechados por los usuarios cuando utilizan las
dos herramientas que los generan, sin saber que pueden ser obtenidos manualmente, al solicitarlo
a MS EXCEL.
Aquí, por ejemplo, (en la última columna) tenemos un Total Final que, en su cálculo, depende de
todas las columnas numéricas que están a la derecha de Fecha. 10
Por lo tanto, podríamos desear poder ocultar las columnas intermedias para ver un resumen, (cuando
estimemos conveniente) consistente en sólo el Total Final junto al día de la operación.
De la misma forma, podemos querer ocultar el detalle diario para ver, solamente, los totales de ese
día.
Crear Esquemas
Para crear esquemas
a) Seleccionar en primer lugar las filas o columnas que constituirán un grupo de esquema.
En este caso seleccionar las filas desde 4 hasta 9.
Observe que junto a la fila 10 aparece un botón de Esquema que actualmente tiene el
signo menos (-)2. Al presionar ese botón, el detalle del día 22 se oculta, y MS EXCEL
sólo nos muestra el Total Día que nosotros hemos calculado.
c) Repita el mismo procedimiento para las filas 11 a 16 para obtener el resultado que se
muestra en la imagen siguiente:
2
El signo menos [ - ] interprételo como “para ver menos”
11
d) Ahora podemos seleccionar desde la fila 4 a 17 (es decir, el detalle de ambos días, más
los subtotales de cada uno de ellos) y volver a seleccionar la ficha Datos/Agrupar Con
esto obtendremos en un sólo grupo todo el detalle, pero además se completan los
niveles de esquema en la parte superior hasta llegar al número 3:
Tal como en las herramientas de MS EXCEL 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 situación es un poco más compleja: Monto, Tasa y Plazo son datos
que, si bien están relacionados conceptualmente, son completamente independientes entre ellos:
La Cuota está calculada en base a la función financiera PAGO, que utiliza como parámetros
los tres valores anteriores.
Agruparemos los datos de las columnas de acuerdo a criterios de orden personal, que no
necesariamente son matemáticos.
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:
Note que, al estar centrado dentro de la planilla el título “Créditos Colocados”, MS EXCEL no
permite seleccionar un grupo de columnas. Para solucionar esto es necesario seleccionar el título, y
a través de la ficha Inicio, deshabilitar la casilla “Combinar celdas”.
Una vez seleccionadas las columnas, debe ir a la ficha Datos/Agrupar. El resultado debiera ser similar
al de la imagen siguiente:
Al no existir una relación matemática entre las columnas como la que se da entre las filas, MS EXCEL
asume que lo que deseamos hacer es extender el esquema recién construido para que abarque
dos columnas más.
La única forma de solucionar el problema es desagrupar (cortar) el grupo construido. Para ello:
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 ficha Datos/ Desagrupar.
Ahora, tal como deseábamos al comienzo, tenemos en un grupo las celdas que determinan el Total,
y en otro el Seguro. Al ocultar los detalles, obtendremos:
14
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 ficha Datos/Desagrupar. Con esto, el grupo desaparece, junto a
los botones de esquema que MS EXCEL había generado.
Buscar Objetivo
Solver
Solver es una herramienta más compleja que Buscar Objetivo.
Buscar Objetivo
La herramienta Buscar Objetivo permite alcanzar un valor determinado de una celda (que
contiene una fórmula) modificando el valor contenido en otra celda de la que tiene dependencia,
ya que al estar relacionada directa o indirectamente, MS EXCEL por medio de iteraciones puede una
formula o función, con la primera.
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)
16
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 Región 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.
Ahora bien, ¿qué ocurre si no sólo deseamos cambiar el valor de la Región 5, sino que además el de
las Regiones 7 y 10? ¿Qué ocurre si, deseando cambiar el valor de esas tres celdas, queremos 17
además 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 párrafo precedente, Solver es una herramienta que cumple similares
funciones que Buscar objetivo, pero es más compleja, permitiendo solucionar problemas como los
descritos más arriba.
Puede ser, sin embargo, que en algunos casos no aparezca la opción Solver en la ficha Herramientas.
Esto es porque no se ha instalado la opción. Solver es un Complemento que por defecto está
desintalada por ser una herramienta de carácter avanzado.
Uso de Solver
Para ver el funcionamiento de esta herramienta, construiremos la siguiente tabla:
18
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 ficha Datos/Solver, lo que hará aparecer el siguiente cuadro de diálogo:
3
Esta selección sólo ayuda a que esté preseleccionada en el cuadro de diálogo Solver
19
c) En la casilla Celda objetivo confirme la celda cuyo valor desea modificar (si la
seleccionó previamente debería ser la B17.
d) En la casilla Valor de la celda objetivo dispone de las opciones “Máximo”, “Mínimo” y
“Valores de:”. Aquí debe seleccionar la opción que más se ajuste a la resolución 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. También es posible seleccionar, si fuese necesario, un rango completo.
f) Estos son los datos mínimos necesarios para el funcionamiento de Solver, por lo que
se debe presionar Resolver. Esto hará aparecer el siguiente cuadro:
El mensaje de “Resultados de Solver” indica que los datos de la planilla han cambiado
para ajustar el valor pedido. 20
La opción Utilizar solución 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 función
La opción Restaurar valores originales hará que no sean tomados los valores que
Solver ha entregado como solución, lo que implica que los valores antiguos (y
por ende, el margen de 8%) se mantengan.
g) Ambas opciones deben ser ratificadas por el botón Aceptar. Además, en ambos casos
puede optar a obtener cualquiera de los informes que Solver genera (ver punto “0
Informes” página 19).
Puede utilizar el botón Guardar Escenario, para combinar Solver con el
Administrador de Escenarios (ver, herramienta que será vista más adelante.)
Restricciones
Una de las grandes diferencias entre Solver y Buscar objetivo es que Solver permite darle a MS EXCEL
restricciones que limiten los cambios que hará a las celdas.
En nuestro ejemplo, podemos pedirle a MS EXCEL que deseamos modificar la celda margen de
ganancia a 12%, cambiando el precio del producto, el cual no debe, sin embargo, superar los 42.
= Igual a
Cabe destacar que a una celda podemos aplicar más de una restricción, y que al poder usar una
referencia en la restricción, esta última se hace más flexible y dinámica, considerando que la
restricción se puede parametrizar.
Informes
Solver nos entrega, además, la posibilidad de obtener tres tipos de informes:
informes de
Resultados informes de
Sensibilidad informes de Límites
Estos se obtienen al seleccionarlos en el cuadro de diálogo final de Solver (ver Ilustración 5 Cuadro de
Diálogo Resultados de Solver página 18)
Cada uno de estos informes puede ser pedido cada vez que se ejecuta Solver, independientemente
si usamos la solución propuesta o restablecemos los valores originales, y en cada ocasión se crea
una nueva hoja con el nombre del informe con un número correlativo.
El informe de Respuestas
El informe de Respuestas nos indica cuál es la celda objetivo, su valor original y el valor conseguido
por Solver. Nos muestra, además, los valores originales y finales de las celdas que hemos pedido que
cambie, y además nos muestra las restricciones que hubiésemos 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 información acerca de
las mismas.
Informe de Sensibilidad
22
Facilita información acerca de la sensibilidad de la solución a que se realicen pequeños cambios en
la fórmula definida en el cuadro Definir celda objetivo del cuadro de diálogo Parámetros de Solver
o de las restricciones. No se genera este informe para los modelos que tengan restricciones
enteras.
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.
El informe de Límites
El informe de Límites es válido sólo cuando hemos sujeto alguna celda a restricción. En este caso, este
informe nos muestra cuál habría sido el valor de la celda objetivo de cumplir con el límite inferior y/o
superior que hubiésemos puesto como restricción.
Reporte: Muestra una lista con la celda objetivo y las celdas ajustables con sus
valores correspondientes, los límites inferior y superior de cada variable que hacen
posible una solución factible, así como los valores del objetivo. No se genera este
informe para los modelos que tengan restricciones enteras. Los límites inferior y
superior son los límites de cada variable que hacen una solución factible (que
cumpla las restricciones)
Solver es una utilidad que no viene instalada por defecto, por lo que si en su
equipo no aparece debe previamente complementarla, para esto debe: Versión
2007
23
24
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 través de formulas. Además,
podemos definir diversos escenarios que afecten a celdas diferentes.
Para revisar esta herramienta, utilizaremos la tabla que vimos en el capítulo dedicado a Solver, con
el margen de ganancia en 8%.
Para comenzar a utilizar esta herramienta, debemos dirigirnos a la ficha Datos/ Análisis Y Si
/Administrador de Escenarios, la que hará aparecer el siguiente cuadro de diálogo:
Por medio del botón Agregar se comienzan a definir los nuevos escenarios, a través del siguiente
cuadro de diálogo:
25
Los valores que aparecen son los que actualmente contiene la celda. Deberán ser modificados de
acuerdo a los valores que deseamos que tome nuestro escenario. Estas casillas sólo aceptan valores,
y no referencias.
Podemos repetir los pasos anteriores para crear más de un escenario con el fin de analizar múltiples
combinaciones de datos.
27
Validación
En MS EXCEL es posible condicionar el ingreso de datos dentro de una planilla, de acuerdo a ciertos
criterios. Estas condiciones se aplican por medio de una Validación.
El Cuadro de Diálogo anterior, permite establecer las condiciones que impondremos en la celda cada
vez que se ingresen datos en las celdas seleccionadas.
La opción Cualquier valor, que viene por omisión, implica que las celdas seguirán funcionando
como lo hacen normalmente en MS EXCEL. Es decir, aceptarán cualquier valor (incluidos textos) que
deseemos ingresar.
La opción Número entero sólo permite ingresar números, los que no pueden ser fraccionarios (el
número 5,42, por ejemplo, no estaría permitido). En caso de seleccionar esta opción, debe
establecer otras restricciones, como el número mínimo, máximo, o el intervalo dentro del cual debe
encontrarse el valor para ser aceptado.
Decimal permite ingresar números que contengan decimales. Al igual que en el caso anterior,
debemos establecer el intervalo dentro del cual debe encontrarse el número para ser aceptado. 28
La opción 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 validación, genera
una lista desplegable que permite seleccionar el elemento a ingresar.
Como puede ver, en el cuadro de diálogo 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 vacía como válida. La casilla “Celda con lista desplegable”, al estar seleccionada, mostrará 29
una lista desplegable en la celda para que podamos seleccionar el ítem de la lista. Una vez
establecidos los parámetros, al presionar activar la celda C1 mostrará un botón de lista que al
presionar, se verá así:
La opción de validación Fecha sólo permitirá datos de este tipo. Al seleccionar esta opción se debe
establecer un intervalo. Lo mismo ocurre cuando seleccionamos la opción Hora.
Longitud del texto nos permite establecer cuál será el tamaño mínimo o máximo 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 validación de MS EXCEL 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 diálogo de
Validación.
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 diálogo
Validación, 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 ningún mensaje de error, MS EXCEL usa el mensaje que trae incorporado,
que se muestra a continuación:
30
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 validación pueden ser de mucha utilidad cuando necesitamos
que los datos de nuestros usuarios respondan a ciertas características y no sean ingresados de
manera arbitraria. Además, permiten evitar errores en las fórmulas, al obligar al usuario a ingresar
números que sean válidos para los cálculos ingresados en nuestra planilla.
31
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 condición lógica que
resulte de una función.
El formato se limita a las cualidades de formato celda, por lo que la altura de fila o ancho de columna
no son considerados
Dentro de las alternativas aparecen para números (entre, mayores, menores, etc.)
Como ejemplo aquí estamos destacando las que están sobre los 5000
32
33
34
Filtros
Los filtros son herramientas de manejo de datos que nos permiten seleccionar información dentro de
una base, para su análisis. Dentro de los filtros, existen dos tipos que difieren en sus características y
manejo:
Autofiltro
Filtro Avanzado, que es lo que revisaremos a continuación.
Filtro Avanzado
Filtro Avanzado nos permite, al igual que Filtro, seleccionar registros en una tabla de MS EXCEL. El
Filtro Avanzado, entre otras mejoras, cuenta con:
En dicha tabla, la información 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 rótulo “Precio”. A esta área la llamaremos rango de
criterios.
A continuación encontramos solamente dos de los cuatro encabezados: Parte y Empresa. Esta área es
conocida como rango de destino.
La opción Filtro Avanzado se encuentra en la ficha Datos/ Filtro Avanzado. Al seleccionar esta opción,
tenemos acceso al siguiente cuadro de diálogo:
36
Acción:
La primera opción que encontramos es la “Acción” 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).
Rango de Lista
Una vez que hemos seleccionado la segunda acción, debemos indicarle el Rango de la Lista. Para
indicarlo con el puntero podemos presionar el botón que contiene la flecha diagonal de color rojo, lo
que minimizará el cuadro de diálogo, permitiéndome seleccionar el rango.
Rango de criterios
A continuación 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, más los criterios que
queremos que MS EXCEL use para filtrar.
Estas son las dos líneas que encontramos a continuación de la base. En este caso, el único campo que
contiene un criterio para filtrado es el campo “Precio”, del cual seleccionaremos sólo aquellas Partes
cuyo valor sea inferior a 2.200.
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 37
nuestro ejemplo, MS EXCEL sólo nos mostrará las columnas Parte y Empresa.
Podemos hacer uso, también, de la casilla “Sólo registro únicos”, la que hará que MS EXCEL no
muestre los registros seleccionados y repetidos. Esto es que en el caso de mostrar como Rango de
Lista sólo los campos Empresa y Localidad, mostrará las combinaciones únicas de EmpresaLocalidad.
Listado mucho menor a los 213 registros.
Es importante destacar que el rango de criterios debe tener exactamente la misma descripción de
encabezados que la base original, independiente de si asignamos o no algún criterio a todos los
campos. Este rango, además, presenta la posibilidad de usar dos criterios. Así, por ejemplo:
>2200 Madrid
o bien:
>2200
Madrid
Caso 1
En el primer caso, por estar “>2200” y “Madrid” en la misma fila, MS EXCEL mostrará aquellos
registros cuyo
Caso 2
En el segundo caso, al estar en filas distintas, MS EXCEL mostrará aquellos registros cuyo {precio
sea mayor a 2.200} O {cuya localidad sea Madrid}.
al poner los criterios de filtrado en la misma fila, MS EXCEL los considera como un Y
lógico, 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
MS EXCEL los tome como un O lógico, debiendo un registro cumplir con un sólo de los 38
dos criterios para aparecer en el resultado.
Funciones de “Formulario”
Pese a lo equívoco del nombre, estas funciones de MS EXCEL permiten administrar una base de datos,
tanto para agregar o eliminar registros como para seleccionar un grupo de registros a través de algún
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 fichas que aparecen en la ventana corresponden a los nombres de los campos
de nuestra base de datos. Las casillas con información que vemos al lado de las fichas 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 través de los registros que componen la base.
El mensaje “1 de 36”, que aparece sobre el botón 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.
Botones
Nuevo : Este botón nos permite agregar un nuevo registro a la base de datos. Al 39
presionarlo, aparecerán las casillas de datos vacías para agregar nueva
información. Este nuevo registro es agregado al final de la base de datos como
una nueva fila de la planilla.
Eliminar : Tal como su nombre lo indica, este botón elimina el registro activo, que es el
que vemos en la ventana Formulario. Esta acción no se puede deshacer.
Restaurar : Si hemos hecho alguna modificación al registro activo y deseamos deshacerla,
debemos presionar este botón. Este botón no restaura los registros que fueron
eliminados.
Buscar… : Estos botones (Buscar Anterior y Buscar Siguiente) nos permiten
desplazarnos hacia delante y atrás entre los registros, una vez que hemos
definido criterios de selección.
Criterios : Este botón hará aparecer la ventana Formulario con todas las casillas vacías.
En estas casillas debemos escribir el criterio por medio del cual se desea hacer
un filtrado de la base. Al presionar este botón el resto de los botones cambia
de nombre. El botón Borrar y el botón Restaurar limpian las casillas para
criterios. Los botones Buscar… nos permiten desplazarnos a través de los
registros. El botón Formulario nos devuelve a la ventana original de
visualización de datos.
Cerrar : Cierra la ventana Formulario.
Los criterios de selección de registros pueden ser puestos para un sólo campo o para varios campos
simultáneamente. Así, por ejemplo, podemos seleccionar a aquellos que trabajen en el
departamento Diseño, y en la sección Fax.
Al establecer criterios, la barra de desplazamiento dejará de moverse a través de todos los registros,
para hacerlo sólo a través de los registros que cumplen con los criterios establecidos. Los botones
Buscar… comenzarán a trabajar de la misma forma.
Funciones de Búsqueda
Las funciones de búsqueda son pequeñas funciones que nos permiten, a través de un dato, buscar
la información correspondiente en la base. Esta información 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
idéntica.
La función 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 función 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.
Ordene enseguida la tabla por RUT (Para esto, debe seleccionar la tabla, ir a la ficha 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:
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 función BUSCARV busca un valor en el primer campo de una base de
datos, para luego devolver el valor de ese registro en una columna señalada por nosotros. La
sintaxis de la función 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 también 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 información mostrada en las celdas cambia, de
acuerdo al RUT que hayamos ingresado.
En la función antes indicada aparecerá una opción llamada “Ordenado”, éste nos permitirá una
mejor búsqueda y entrega de información al momento de usar BUSCARV. En el ejemplo anterior se
uso la opción de FALSO, ya que buscara un valor exacto en la Matriz de Búsqueda, ésta es la más
utilizada, pero en este capitulo veremos el uso de la otra opción, VERDADERO.
42
Si observa el ejercicio no existen valores exactos para los sueldos base buscados, por lo que BUSCARV
deberá entregar los valores más próximos debajo de lo graduado en la tabla menor, esto es por
ejemplo:
Si se desea buscar el porcentaje de $190.000 y existe una graduación de 10% para los sueldos entre
$100.000 y $199.999, BUSCARV le dará este porcentaje y no el 20% de la siguiente graduación,
independiente que este más cerca del $200.000 que de $100.000.
43
BuscarV: B2 ; $A$14:$B$19 ; 2 ; 1
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)
44
Como esta base no contiene los campos en columnas sino en filas, el último no corresponde al
número de columna, sino a la fila de la cual deseamos extraer los datos.
Estas funciones son similares a las funciones normales que utilizamos a diario en MS EXCEL. Sin
embargo, la gran diferencia estriba en la posibilidad de usar criterios que hacen que una suma
considere sólo los valores que cumplen con determinada condición, por ejemplo.
Puesto que no es el objetivo revisar todas y cada una de las funciones de Base de Datos, sólo se
considerarán las de uso más popular, puesto que de esa forma se revisará la manera de usarlas, que
es aplicable a aquellas funciones que no serán analizadas en esta sección.
Rango de Criterios
Las funciones de Base de Datos requieren para su operatoria que exista, además de la base de
datos, una zona donde se encuentre el nombre del campo al cual deseamos aplicar alguna
condición, el que debe ser idéntico 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 rótulo irá el criterio que utilizaremos para realizar nuestros cálculos.
En la celda H1 de la planilla, escriba o copie el rótulo sueldo, puesto que sobre ese campo
aplicaremos nuestros criterios. Bajo esta celda escriba “>350000”, que es el criterio que utilizaremos.
La parte superior de la planilla debiera verse como muestra la imagen de la página siguiente:
45
De ahora en adelante, las celdas H1 y H2 serán nuestro rango de criterios. Todas las operaciones que
realicemos considerarán sólo los registros que cumplan con la condición “Sueldo” mayor que
350.000”.
En estas operaciones pueden utilizarse múltiples criterios para una misma función. En ese caso, el
rango de criterios debe construirse de la forma ya indicada, agregando hacia la derecha los nombres
de los campos que llevarán criterios.
El primer paso, entonces, es ubicarnos en la celda donde queremos aparezca el primer resultado. En
nuestro ejemplo, se trata de la celda H5.
Base de Datos.
46
Busque y seleccione la función BDSUMA. Al presionar Aceptar, se abre el siguiente cuadro de diálogo,
que nos pide los parámetros que esta función requiere.
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,
también tiene la posibilidad de usar el número que ocupa la columna a calcular dentro de la base de
datos. Este número no debe ir en comillas. En nuestro caso, entonces, podemos usar
indistintamente el número 3 (puesto que los sueldos están en la tercera columna de la base de
datos), o bien “sueldo”.
Finalmente, debemos indicar, en la casilla “Criterios”, el rango de criterios que deseamos utilizar, y
que, en nuestro caso, corresponde al rango H1:H2.
Una vez que hemos completado la información, presionamos el botón Aceptar. En la celda H5
debiera aparecer el valor $ 23.321.260, que es la suma de todos aquellos sueldos mayores a $
350.000.
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 categoría “Base de Datos” debemos seleccionar la función
BDPROMEDIO. Esta función nos pedirá los mismos parámetros que la función anterior, y que, en
este caso al menos, son los mismos ya ingresados. Es decir, base de datos es A1:F36, la columna a
sumar es “sueldo” o 3, y los criterios se encuentran en H1:H2. Una vez ingresada la información y ya
presionado el botón Aceptar, obtendremos el valor $ 804.181,379.
Para finalizar, realizamos exactamente la misma operación, pero ahora con la función BDCONTAR.
A través de ella sabremos el número de personas cuyo salario es superior a $350.000 es de 29. Para
mencionar algunas otras funciones de esta categoría
función Devuelve
=BDSUMA
La suma de los valores en el rango que cumplan con la condición
ingresada en el rango de criterios.
=BDPROMEDIO
El promedio simple de los valores del rango que cumplan con la
condición ingresada en el rango de criterios.
=BDMAX
El máximo valor en el rango que cumplan con la condición ingresada
en el rango de criterios.
=BDMIN
El mínimo valor en el rango que cumplan con la condición ingresada
en el rango de criterios
=BDCONTAR
Entrega el conteo de celdas que contienen números que cumplan
con la condición ingresada en el rango de criterios
=BDCONTARA
Entrega el conteo de celdas que contienen algún carácter que
cumplan con la condición ingresada en el rango de criterios 48
Tablas Dinámicas
Si se construye la tabla siguiente, podremos ver que los cálculos que aparecen en la parte inferior
presentan ciertas dificultades a la hora de ser realizados:
Como se ve, en el cuadro resumen inferior se pretende conocer las ventas divididas por Vendedor,
y a su vez divididas por región. Estas, finalmente, se dividen por año. Estos cálculos, 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 podrían no ser notados, pero
luego ser bastante significativos. 49
En lugar de hacer este tipo de cálculos, entonces, podemos utilizar las tablas dinámicas. Ésta es,
seguramente, una de las herramientas más poderosas y versátiles que MS EXCEL posee para el análisis
de datos. Además, es bastante sencilla de usar, puesto que cuenta con asistente que nos guía a través
de los cuatro pasos necesarios para llegar a nuestra tabla.
Para comenzar a construirla, debemos ir a Insertar/Tabla Dinámica. Aparecerá entonces el siguiente
cuadro de diálogo:
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 opción por omisión un rango, de habernos ubicado dentro de la base de
datos aparece marcado automáticamente. También se pueden usar datos externos (como una base
de datos Dbase, Foxpro, Etc.), rangos que hayan sido usados con una función Consolidar u otra
Tabla Dinámica. Una vez indicado el origen de los datos, se presiona el botón Siguiente >.
50
Panel de Tabla
Dinámica
Vista de Tabla
Dinámica
Para diseñar la tabla dinámica de toman los campos de la tabla y se van ubicando en los distintos
sectores fila, columna, datos o valores los elementos que se usarán,
La sección PAGINA hará que ese campo, por ejemplo Año, sea convertido en una lista desplegable,
la que nos muestra los años disponibles. Al seleccionar alguno de ellos, el contenido de la tabla
cambiará para mostrarnos sólo los datos correspondientes a ese Año. También se incluye, en la lista
desplegable, la opción “(Todos)”, que nos mostrará toda la información, independiente del Año.
La sección COLUMNA nos permite ubicar los campos que deseamos que nuestra tabla muestre
ordenados en columnas. Puede ser ubicado más de un campo en esta sección. De ubicar más de un
campo, el primer campo ubicado aparecerá subdividido por el segundo. De ubicar un tercer
campo, éste subdividirá, a su vez, al segundo.
La sección FILA funciona exactamente igual que la sección COLUMNA, con la diferencia que los datos
puestos allí estarán ordenados en filas.
La sección VALORES sirve para ubicar los campos que deseamos que la tabla muestre como resultado
o valor.
Una tabla dinámica es una utilidad muy flexible de EXCEL, que permite disponer de los datos
visualizándolos de diferentes maneras, con agrupamiento, filtro, cálculos, etc.
Para esto vamos a ir analizando algunos menús contextuales y elementos de la barra de tabla
dinámica.
52
Nombre: Corresponde al nombre del campo, por defecto aparece la función y el nombre del campo,
en la imagen aparece SUMA DE MONTO EN $M
Resumir por: Corresponde a la función que usaremos para la totalización, aparecen aquí las funciones
más utilizadas entre las cuales figuran la suma, la cuenta, min, max, promedio, etc Mostrar datos
como, para que la visualización del dato no sea una cifra que muestra el total sino un porcentaje o
una diferencia podemos escoger esta opción, se muestran los porcentajes relativos a calumas, filas,
del total, etc. como aparece en la siguiente imagen más detallada
% de la fila % de la columna
Muestra la venta de cada sucursal como el 100%, Muestra la venta total de cada artículo como el
desglosando en porcentaje la venta representativa 100%, desglosando el porcentaje de venta de cada
de cada producto sucursal
53
Muestra el total de ventas como el 100% Como Gran Avenida es la sucursal más alta se ve la
desglosando el porcentaje de venta de cada sucursal diferencia de las demás sucursales en relación a
por articulo en relación a la venta general esta
Previo a esto le vamos a agregar un nuevo campo a la fila de manera que nuestra tabla se verá de la
siguiente manera
54
A su vez podemos realizar filtros en este o cualquier campo similar a como se realizan con los
autofiltros, como se muestra en la imagen 55
El que el campo calculado realiza la operación para todos los elementos del campo, mientras
elemento calculado es una operación que se hace solo para un dato en específico
Campo Calculado
En nuestra tabla dinámica vamos a calcular el IVA para todas las sucursales por lo tanto nos vamos
a ubicar en una celda cualquiera que contenga valores y ubicamos dentro del Panel de tabla
dinámica, en la ficha Opciones de las Herramientas de tabla dinámica y ubicamos la opción formula
donde encontramos el campo calculado
56
Donde:
En este caso, como vamos a calcular el IVA de los montos la ventana queda de la siguiente manera:
57
Note que cada sucursal tiene ahora su suma de montos y su cálculo del IVA.
Para eliminar el campo calculado se ingresa de la misma forma que para crearlo, se ubica dentro del
listado y se hace clic sobre el botón de eliminar.
Si lo que se desea es calcular, por ejemplo, el 25% sólo para la sucursal Alameda lo que necesitamos
es un elemento calculado
Su forma de trabajar es similar a la anterior, como nuestro elemento calculado es un dato de la fila,
nos ubicamos sobre cualquiera de ellos y repetimos el ingreso anterior
58
Donde:
Para nuestro ejemplo vamos a calcular el 25% del monto para la sucursal alameda, el cuadro quedará
de la siguiente manera
Note que no es el monto, sino que alameda lo que se está multiplicando por el 0,2, quedando nuestra
tabla dinámica de la siguiente manera
59
Con esto se agregó un nuevo dato a la tabla, para organizarlo de mejor forma podemos dejar este
cálculo debajo del elemento al que está calculando, para esto se toma el campo y con el Mouse tal
como si se moviera una celda se toma y se arrastra hasta la nueva ubicación, la diferencia está en que
al ser un elemento de la tabla dinámica es toda la fila la que se moverá no solo este texto
60
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 EXCEL acerca de un producto
específico por región. También puede crear una consulta sencilla utilizando el Asistente para
consultas o puede crear una más 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 contraseña, un permiso de usuario o cualquier otra información
acerca de cómo conectarse a la base de datos al administrador de la base de datos externa.
61
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. Llamaremos Base1 (Datos Personales)
y Base2 (Datos Trabajo).
En una Hoja nueva iniciaremos la opción de MS-Query. Ésta se encuentra en la ficha Datos/Datos
externos/Desde Microsoft Query...
62
Aparecerá la siguiente ventana con opciones para obtener orígenes de datos externos.
Aparecerá la siguiente ventana donde tendrá que buscar el archivo (libro) que contiene las dos hojas
con información (datos personales y trabajo). Después de encontrar este archivo presionaremos
ACEPTAR.
63
Veremos el Asistente para Consultas activado para comenzar a trabajar, mostrándonos 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 títulos de la tabla, repetir lo mismo para la base 2.
Seleccionaremos para la base1 los campos NOMBRE, DIRECCIÓN, CIUDAD, PAÍS y de la base2 CARGO,
TELÉFONO y FAX.
Para enviar los campos al área de la derecha de la pantalla podemos hacer doble click sobre la
descripción. Luego de seleccionar presionaremos SIGUIENTE.
64
Podremos observar la siguiente ventana de advertencia que nos indicara que no existe una relación
para las dos tablas que estamos trabajando y que deberemos unirla o relacionarlas manualmente.
Las descripciones o nombre de titulo que nos permitirán la unión o relación será el NOMBRE, única
manera de relacionar que para un NOMBRE existe una dirección y que para ese mismo NOMBRE
existe un cargo.
Como la tabla no esta relacionada nos muestra la unión de filas (registros) de ambas tablas 10 x 10
(base1 x base2), esto es 100 filas.
Para que nos entregue la unión de todos los campos o columnas (títulos) 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 línea delgada uniendo las dos tablas.
65
Ahora se verán las filas de información correspondiente a las dos tablas unidad en la consulta o Query
(10 filas de información).
Por otra parte, antes de insertar la nueva tabla resultante en nuestro nuevo archivo (libro) podemos
generar algún criterio especial para estos datos. Si presionar el botón de Ocultar o
Mostrar los Criterios ( ) de la barra de botones veremos que aparecerá una nueva área en la 66
Área de Criterios
ventana de MS-Query.
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.
67
Seleccionaremos la que viene activada en la ventana Hoja de cálculo existente, en la posición $A$1 y
luego presionaremos ACEPTAR.
68
Macros
En palabras sencillas, una macro es una serie de órdenes que el usuario da a MICROSOFT EXCEL, con el
fin de automatizar ciertas tareas.
Estas órdenes están escritas en un código especial, derivado del lenguaje de programación más
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 cálculo MSEXCEL es un
objeto que posee ciertas propiedades a las que se pueden asignar distintos valores. Sobre estos
objetos, además, 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 selección. En el primer caso, se trata de
una acción (seleccionar) y en el segundo se trata de una propiedad a la que asignamos un valor.
Dicho ahora entonces, en términos más técnicos, 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 básico— escribir cada una de
las instrucciones de VBA. MS EXCEL 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 MS EXCEL, al tiempo
que las va traduciendo a lenguaje VBA. Luego esta macro puede ser ejecutada por el usuario, lo
que hará que MS EXCEL repita, en el mismo orden y secuencia, las instrucciones almacenadas
durante el proceso de grabación.
Este sistema de generación de macros es bastante útil cuando no se poseen los conocimientos
suficientes, pero al replicar solamente acciones ya realizadas, es absolutamente rígido 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 más
adelante ver el uso de variables, de controles, cuadros de diálogo y estructuras de control, que nos
permitirán darle a la macro toda la flexibilidad que necesita.
El Grabador de Macros
69
En MS EXCEL existen dos caminos para construir una macro. El primero, y el más sencillo, es utilizar el
Grabador de macros de MS EXCEL. Éste permite ejecutar una serie de pasos, los que son registrados
para luego ser reproducidos en el mismo orden y secuencia original.
La reproducción de los pasos realizados durante la grabación de la macro es estricta, por lo que si
realizamos n acciones equivocadas antes de realizar lo que deseábamos originalmente, esas n
acciones equivocadas se repetirán cada vez que ejecutemos nuestra macro. Dado este método
particular de trabajo, se recomienda confeccionar una pauta, tan detallada como sea posible, de las
acciones a ejecutar, para evitar errores durante la grabación de la macro y que ésta realice acciones
innecesarias o repetitivas.
Para trabajar con las macros debemos activar la ficha 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 títulos
de nuestras planillas.
Bajo este título se encuentra nuestra planilla imaginaria, la cual abarca hasta la columna F. Por lo
tanto, queremos que el formato del título sea: centrado entre las columnas A y F, letra Comic Sans 70
MS4, tamaño 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:
En la primera casilla, debemos escribir el nombre que daremos a la macro. Este nombre puede ser
cualquier palabra que no sea utilizada por MS EXCEL (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 método abreviado debemos presionar Control más 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.
o “Libro de macros personal”. Este libro se abrirá, en forma oculta, cada vez
que iniciemos MS EXCEL, con lo que la macro estará siempre disponible para
ser usada en todos los libros.
o “Libro Nuevo”, que ubica la macro en un nuevo libro. Tiene las mismas
desventajas que la primera opción.
No siempre la mejor opción es guardar las macros en el libro personal de macros, puesto que éste
usará espacio en memoria, lo que hará trabajar más lento el equipo, y en ocasiones la macro está
hecha para trabajar precisamente en un libro particular y no es válida para otros libros (por ejemplo,
una macro que realice complejos cálculos a partir de cierta información particular).
4
Si esta fuente no se encuentra disponible en su PC, utilice una fuente alternativa.
La descripción es un comentario que no tiene más incidencia que, a la hora de ver un listado de las
macros disponibles podamos ver una leyenda que nos permita identificar cada macro. 71
Una vez ingresada toda la información, presionamos el botón Aceptar. En la barra de estado
aparecerá “Grabando”
Ahora debemos centrar el texto en el rango A1:F1, ejecutar la ficha Inicio/Formato/Celdas, y allí
escoger la ficha Fuente. Debe indicar, entonces, la letra Comic Sans MS, el estilo Regular Cursiva, el
tamaño 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í:
Si el formato vuelve a ser el de la figura precedente, nuestra macro está funcionando. ¡Y sin escribir
una sola línea.
Método Abreviado.
Ficha Programador, opción Macro.
Botón personalizado.
Botón en la barra de acceso rápido.
A partir de otra macro.
Método abreviado
El método abreviado sólo puede ser asignado al momento de iniciar el grabador de macros. Éste 72
consiste en una tecla, que presionada junto a Control (también se puede usar la combinación
Control+Mayús+Letra) nos permite ejecutar inmediatamente una macro.
El lenguaje VBA
Como vimos en la sección anterior, nuestra macro funcionará sin que hayamos escrito una sola línea
de comandos (llamada también línea de código). Sin embargo, cada acción realizada durante la
grabación, como mencionamos en la introducción, se traduce en una instrucción VBA.
Este lenguaje es una derivación, especialmente creada para los programas miembros de Office, del
lenguaje de programación Visual Basic. Por lo tanto, las macros son programas construidos por EXCEL
(cuando usamos el grabador) o por nosotros mismos.
73
Ahora bien, estos programas se escriben en una parte especial de EXCEL llamada “Editor de Visual
Basic”. A este se puede acceder a través de la opción Macro de la ficha Herramientas. Al llamarlo,
tendremos acceso a la siguiente ventana: aprecio
74
La parte superior contiene la barra de Menú del Editor de Visual Basic, que contiene todas las
opciones que podemos utilizar en esta sección. Inmediatamente más abajo encontramos la barra de
herramientas, que contiene botones que permiten un acceso más rápido a las mismas opciones
contenidas en la barra de menú.
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 “Módulo 1”, y en la ventana inferior vemos que su única propiedad es
“(Name)” (Nombre), la que actualmente tiene el valor “Módulo 1”, el que puede ser cambiado por
el usuario.
En la ventana de la derecha podemos ver el contenido, en términos de código, del módulo 1, el que
consiste precisamente en la macro creada a través del grabador. En esta ventana podemos escribir
al igual que en cualquier procesador de palabras básico, utilizando el teclado y algunos comandos
como Cortar, Copiar y Pegar. Para agilizar la escritura de código, el Editor de Visual Basic nos va
presentando ayuda a través de una pequeña ventana emergente que contiene los nombres de las
instrucciones y su sintaxis: 75
Como ya se mencionó, el lenguaje VBA está orientado a objetos. Es decir, básicamente 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 acción. Estas instrucciones se escriben en orden
secuencial, y es de esta misma forma como se ejecutarán. Vale decir, la ejecución ocurrirá de la
primera a la última instrucción pasando por todas las intermedias, a menos que incluyamos ciertas
instrucciones que corten o redireccionen la ejecución. La estructura de sintaxis básica del lenguaje
es, entonces:
objeto.propiedad[.subpropiedad] = valor
Por ejemplo:
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
5
estamos asignando a esa propiedad .
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 acción a realizar sobre ese objeto. En este caso, seleccionarlo.
A pesar de lo señalado, existen ciertas instrucciones que tienen su sintaxis propia, la que será
revisada más adelante.
5
No todas las propiedad se encuentran divididas en subpropiedades, y las que sí los están
no necesariamente poseen las mismas. Esto variará, entonces, de una propiedad a otra. 6
Además de las macros de comandos (macros que ejecutan y automatizan tareas) existen
macros de función, que realizan el cálculo que el usuario haya estipulado, a partir de
determinados parámetros. En esos casos los parámetros van en paréntesis.
Sub nombre_de_la_macro() 76
Donde Sub es la palabra clave que identifica el comienzo de nuestra macro. A continuación va el
nombre con que identificamos la macro y enseguida un juego de paréntesis que indican que esta
macro no necesita parámetros6. Además de esta línea inicial existe una línea final:
End Sub
Esta línea le dice a EXCEL que la macro comenzada más arriba ha llegado a su fin.
Líneas de comentarios
En ocasiones es necesario agregar a nuestras macros ciertas indicaciones que nos sirvan a nosotros
o a otros para identificar ciertos procesos, señalar determinados eventos, etc.
Por ejemplo:
O bien:
En el primer ejemplo, toda la línea es un comentario, mientras que en el segundo caso, la línea
incluye una instrucción (Worksheets(“Hoja1”).Select) y enseguida el comentario, a partir de un
apóstrofe.
Colores distintivos
VBA utiliza ciertos colores para distinguir las palabras que conforman nuestra macro.
El texto de color negro señala a los objetos, las propiedades, sus valores y las acciones que
indicamos VBA debe realizar.
El texto en color azul señala palabras claves de macros que representan instrucciones precisas.
Así, por ejemplo, al escribir If…Then (Si…Entonces), ambas palabras aparecerán 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 algún error en la sintaxis o que esta se
encuentra incompleta. Por lo general, va acompañado de un mensaje emergente de error.
Finalmente, el texto en color verde nos señala que se trata de un comentario que no tiene incidencia
en la ejecución y funcionamiento de la macro.
1 Sub form()
2 '
3 ' form Macro
4 ' Macro grabada por EDUTECNO
5 '
6 ' Acceso directo: Ctrl+Mayús+F
7 '
8 With Selection
9 .HorizontalAlignment = xlCenter
10 .VerticalAlignment = xlBottom
11 .WrapText = False
12 .Orientation = 0
13 .ShrinkToFit = False
14 .MergeCells = False
15 End With
16 Selection.Merge
17 With Selection.Font
18 .Name = "Times New Roman"
19 .FontStyle = "Negrita Cursiva"
20 .Size = 18
21 .Strikethrough = False
22 .Superscript = False
23 .Subscript = False
24 .OutlineFont = False
25 .Shadow = False
26 .Underline = xlUnderlineStyleNone
27 .ColorIndex = 5
28 End With
29 With Selection.Interior
30 .ColorIndex = 6
31 .Pattern = xlSolid
32 .PatternColorIndex = xlAutomatic
33 End With
34 End Sub
(Hemos numerado las líneas sólo para fines explicativos. Las macros en VBA no utilizan números de
línea)
Utilizando With
With Selection .HorizontalAlignment=xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.ShrinkToFit = False
.MergeCells = False
End With
Como vemos en la tabla 2, en todas las líneas fue necesario anteponer el objeto Selection, mientras
que en la primera sólo lo agregamos a continuación de With.
Las líneas interiores del With realizan lo que puede ser fácilmente traducible. Así, la línea 9
establece que la propiedad Alineación Horizontal (HorizontalAlignment) tiene el valor centrado
(otros valores pueden ser xlLeft (Izquierda), xlRight (Derecha).
La línea 10 asigna el valor Abajo (xlBottom) a la propiedad Alineación Vertical (VerticalAlignment).
Otros valores son xlTop (Arriba) y xlCenter (Centrado).
La línea 11 nos dice que la propiedad Ajustar Texto (WrapText) es Falsa (False). El otro valor puede
ser True (Verdadero).
La línea 12 indica que la orientación del texto (Orientation) es 0, correspondiendo este número a la
cantidad de grados con relación al plano horizontal. Otros valores pueden ser cualquier número
entero entre 90 y –90.
La línea 13 asigna el valor Falso (False) a la propiedad Reducir hasta Ajustar (ShrinkToFit). El otro
valor puede ser True (Verdadero).
Por último, la línea 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 E XCEL aparecen con casillas de
verificación, también están disponibles en las macros, a través de su nombre en Inglés y su valor
representado por True (seleccionada) y False (no seleccionada).
La línea 16 indica que las celdas de la selección deben ser combinadas (acción similar a la del botón
“Combinar Celdas” de la barra de herramientas Formato.
La línea 17 abre un nuevo With, esta vez con el objeto Selection y la propiedad Font. Esto quiere
decir que las líneas siguientes, a partir del punto, hacen referencia a subpropiedades de la
propiedad Font.
La línea 18 asigna el valor “Times New Roman” a la subpropiedad “Name”. Otros valores para esto
son cualquier nombre de fuente disponible en el equipo. 79
La línea 19 asigna el estilo “Negrita Cursiva” a la subpropiedad “FontStyle”. Los otros valores
disponibles son cualquier nombre de estilo válido en nuestro equipo (Los más frecuentes son:
Regular, Negrita, Cursiva y Negrita Cursiva).
La línea 20 asigna el valor 18 al tamaño de letra. Los otros valores disponibles son cualquier tamaño
de fuente válido, generalmente entre 8 y 72.
La línea 21 indica que el texto no irá tachado (StrikeThrough). El otro valor posible corresponde a
True, que señala que el texto sí debe ir tachado.
Las líneas 21 y 22 indican que las propiedades superíndice (Superscript) y subíndice (Subscript) son
falsas. El otro valor posible, para ambas, es True (Verdadero).
Las líneas 24 y 25 nos señalan 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 línea 26 señala que el texto no va subrayado, mientras que la línea 27 señala que el color es 5
(VBA maneja códigos internos de colores).
La línea 28 indica que se ha dejado de trabajar con el objeto Selection, propiedad Fuente. La línea
29 señala que se trabajará con el objeto Selection, propiedad Interior. La línea 30 asigna al color de
la celda (trama) el número 6, equivalente al amarillo. La línea 31 asigna el diseño de la trama como
Sólido, y la línea 31 asigna el valor Automático a la propiedad Color de diseño. Para terminar, la
línea 33 cierra el último With abierto, y la línea 34 da término a la macro.
Como hemos visto hasta ahora, el grabador permite convertir la mayoría de nuestras acciones
cotidianas en EXCEL a una macro, para así automatizarlas. Sin embargo, el grabador de macros es
totalmente rígido, pues siempre realizará las mismas acciones y asignará los mismos valores a las
mismas propiedades. Se hace necesario entonces, para potenciar el desempeño de nuestra macro,
“meter las manos” y modificar lo que hayamos grabado, o bien escribir la macro desde el principio
hasta el final.
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 cálculo 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 E XCEL 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 específico de variables
que ocupa más recursos de los necesarios.
Declaración de Variables
Para declarar una variable, sólo basta con escribir la sentencia Dim, seguida del nombre de la
variable, a continuación la palabra As y luego el tipo de variable. Es decir:
Por ejemplo, para definir una variable que va a contener nombres, podríamos escribir:
Por ejemplo:
saldo = 3500 – 2700
En el segundo caso existen, entre otras, dos posibilidades: obtener el valor a través de un cuadro
de diálogo u obtener el valor a partir de una determinada celda. La primera posibilidad será
analizada más adelante, cuando revisemos el funcionamiento de las macros con cuadros de
diálogo. La segunda empero, funciona de la siguiente manera:
Range(“celda”).Select
Variable = ActiveCell
Por ejemplo:
Range(“A1”).Select
nomb = ActiveCell
La primera línea es necesaria, a pesar de no tener directa relación con la asignación de valor de una
variable, ya que primero debemos decirle a EXCEL que fije su atención en la celda que necesitamos.
Enseguida, al estar seleccionada, el objeto pasa a tener otro nombre (ActiveCell) y luego se realiza la
asignación de valor.
6
Las variable almacena la información en ese formato, pero la mostrará, en alguna celda, de
acuerdo al formato que esta tenga.
Cabe señalar que si la asignación se realiza al revés (ActiveCell = nomb, por ejemplo), estaremos
traspasando a la celda el valor que actualmente tiene la variable. 81
En este ejercicio trataremos de mostrar cómo 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á, también, 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 Tamaños, y el rango D2:E11 el nombre
7
Colores .
Luego, en la Hoja1 de nuestro libro, debemos crear la siguiente planilla, con la ayuda de la barra de
Herramientas “Formulario”9:
7
Si no recuerda cómo asignar nombres a rangos, remítase al manual de Microsoft Excel 97
Intermedio.
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 números, que representan el número, en sentido vertical, de la posición del ítem
seleccionado dentro de su lista correspondiente.
B41 =INDICE(FUENTES;A41;1)
B42 =INDICE(ESTILOS;A42;1)
B43 =INDICE(TAMAÑOS;A43;1)
B44 =INDICE(COLORES;A44;2)
B45 =INDICE(COLORES;A45;2)
En las celdas señaladas en la tabla deberán aparecer los ítems seleccionados en las listas
desplegables, a excepción de los colores, puesto que veremos sólo sus códigos.
Ahora, seleccione la subopción Grabar nueva macro dentro de la opción Macro de la ficha
Herramientas. El nombre de la macro será macrovar. No asigne ningún método abreviado y pídale
que guarde la macro en “Este libro”.
Cuando la macro se esté grabando, seleccione el rango A1:G1 y luego vaya a la ficha Formato. En
este menú, seleccione la opción Celdas. Vaya a la ficha Fuentes y allí asigne una fuente, un estilo,
un tamaño 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 ficha Herramientas, seleccione la opción Macro y dentro de ella la opción Macros.
Pinche en macrovar y presione el botón Modificar. Elimine las líneas inútiles 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
With Selection.Interior
9Si tiene dificultades para la creación de los controles (listas desplegables y botones
personalizados) consulte el Manual Microsoft Excel 97 Avanzado, en el capítulo “Creación de una 83
calculadora que no permite errores”.
10
Si no recuerda la función de la fórmula INDICE, consulte el Capítulo “Construcción de una
calculadora que no permite errores” en el Manual de Excel 97 Intermedio.
.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 opción Celdas de
la ficha Formato.
Las líneas Dim nomf, estf As String y Dim tamf, colfuente, colfondo As Integer nos permiten crear o
dimensionar las variables que utilizará nuestra macro.
A continuación, debemos ir a la parte de la macro creada por el grabador (ver página 2) y modificar lo
siguiente:
Range("A1:G1").Select Range("A1:G1").Select
With Selection.Font With Selection.Font
.Name = "Albertus Xb (W1)" .Name = nomf
.FontStyle = "Negrita" .FontStyle = estf
.Size = 9 .Size = tamf
.ColorIndex = 20 .ColorIndex = colfuente
End With End With
With Selection.Interior With Selection.Interior
.ColorIndex = 5 .ColorIndex = colfondo
End With End With
End Sub End Sub
Esta modificación 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 información a partir de lo seleccionado en
las listas desplegables. 84
Ahora, pinche con el botón derecho del Mouse sobre el botón creado y seleccione la opción Asignar
Macro. Aparecerá una ventana con todas las macros que poseemos, entre las que debemos
seleccionar macrovar.
Seleccione los ítems que desee en las listas desplegables y luego presione el botón.
Estructuras de Control
(Nota: Las palabras en paréntesis 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 ejecutarán ante una orden
del usuario, siempre en el mismo orden. Esto es lo que puede verse a través del grabador de
macros: cuando ejecutamos una macro que fue grabada, incluso los errores que cometimos
durante la grabación se repiten, en los mismos momentos en que los incluimos en la macro.
If
Sin duda una de las estructuras de control más conocida es If. Esta permite que nuestra macro
verifique si una condición se cumple, lo que desencadenará ciertas acciones.
If condición-1 Then
[instrucciones-1]
[ElseIf condición-2 Then
[instrucciones-2]]
…
[Else
[instrucciones-n]]
End If
Ejemplo:
If result >= 4 Then
MsgBox(“Aprobado”)
Else
MsgBox(“Reprobado”) 85
End If
Select Case
Select Case se utiliza en aquellas situaciones en que una variable puede tener distintos valores, y
cada valor, en cada caso, gatillará acciones distintas.
Esta función compara el valor de expresión con todos los posibles valores listados en
lista_de_valores-1, lista_de_valores-2, etc. Si encuentra una coincidencia con algún 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: