Está en la página 1de 75

MANUAL AVANZADO

EXCEL
INDICE

UNA PLANILLA CON MUCHAS HOJAS....................................................................3


PROTECCIN DE ARCHIVOS Y ............................................................................4
DE DATOS EN LAS PLANILLAS DE EXCEL...............................................................4
PROTECCIN DE LOS DATOS DE UNA PLANILLA....................................................7
CRITERIOS DE VALIDACIN..............................................................................11
BASES DE DATOS (AUTOFILTROS Y FILTROS AVANZADOS)...................................13
EXTRACCIN DE SUB-BASES DE DATOS.............................................................15
EXTRACCIN DE SUB-BASES MS COMPLEJAS. ..................................................16
TABLAS DINMICAS, GRFICOS DINMICOS Y SUBTOTALES.................................19
GRFICOS DINMICOS.....................................................................................26
LOS SUBTOTALES............................................................................................29
LA FUNCION CONDICIONAL SI...........................................................................33
LA FUNCIN BUSCARV.....................................................................................35
ANALISIS Y SI.................................................................................................40
ESCENARIOS...................................................................................................41
BUSCAR OBJETIVO...........................................................................................42
SOLVER..........................................................................................................43
OBJETOS DE DIALOGO.....................................................................................45
INTRODUCCIN A LAS MACROS EN EXCEL.........................................................48
EL CDIGO DE LA MACRO.................................................................................51
CREAR UN FORMULARIO DE INGRESO DE DATOS.................................................53
LA PROGRAMACIN EN VBA DE LAS ACCIONES DE LOS BOTONES INSERTAR Y
CERRAR..........................................................................................................58
UNA MACRO, DOS OPERACIONES.......................................................................62
PROGRAMANDO MACROS UTILIZANDO FUNCIONES..............................................63
LIMITACIONES................................................................................................64
RANGOS.........................................................................................................65
ATAJANDO ERRORES........................................................................................66
OTRAS MACROS COMPLEMENTARIAS..................................................................68
FUNCIONES EN VBA.........................................................................................74

2
UNA PLANILLA CON MUCHAS HOJAS.

Recordemos que Excel es un programa que trabaja en base a las Hojas de clculo que la
conforman, Cada archivo de Excel est conformado por Hojas. Siendo 256 la cantidad mxima
de hojas por archivo que puede tener.

Al pie de cada hoja podemos ver una especie de solapas que nos permiten pasar de una hoja a
otra.

Frmulas Tridimensionales

Para poder manejar planillas de muchas hojas. Hay que saber una sola cosa, cmo se escriben
las referencias tridimensionales. Ocurre que en estas planillas no basta con designar a una
celda indicando su fila y su columna. Hay una tercera coordenada; la hoja a la cual pertenece.
Veamos en que consiste esto.

Las hojas de la planilla ilustrada. son independiente de las dems, salvo por el hecho de que
tienen la misma forma.

Pero pensemos en una cuarta hoja para el mismo archivo llamado Planilla con muchas Hojas.
En donde almacenaremos la suma de todos los tems de las 3 sucursales. Esto lo realizaremos
de la siguiente manera.

Para crear una Hoja nueva nos vamos al men Insertar opcin Hoja de clculo.
Si deseamos hacer la suma de todos los gastos de arriendo de las sucursales y el
resultado, lo dejamos en la celda C5 de la Hoja4. Debemos escribir en la celda C5 la
siguiente frmula tridimensional.

=Hoja1!C5+Hoja2!C5+Hoja3!C5

Para ello, escribimos en dicha celda C4 de la Hoja4 el smbolo =


Vamos a la Hoja1 y nos posicionamos en la celda C5 de dicha hoja. Y luego presionamos
el signo +.
Vamos a la Hoja2 y nos posicionamos en la celda C5 de dicha hoja. Y luego presionamos
el signo +.
Vamos a la Hoja3 y nos posicionamos en la celda C5 de dicha hoja.
Presionamos la tecla ENTER.
Una vez que hayamos presionado la tecla ENTER, Obtenemos el resultado que en este
caso es de $1.650.000. (Resultado de sumar $ 300.000 + $ 1.000.000 + $ 350.000 en
sus respectivas hojas).

3
PROTECCIN DE ARCHIVOS Y

DE DATOS EN LAS PLANILLAS DE EXCEL


Proteccin de archivos

La medida ms simple que podemos tomar para proteger una planilla es grabarla con una
contrasea para que solamente pueda ser consultada por personas autorizadas. El
procedimiento es el siguiente.

Nos dirigimos al men Archivo opcin Guardar como.

Debemos indicar el nombre del archivo y la unidad de disco en donde ser guardado.
Aparecer la siguiente ventana.

4
Hacemos un clic en Opciones generales.

Veremos la siguiente ventana.

Donde dice Contrasea para abrir escribimos una palabra clave adecuada.

Donde dice Contrasea de escritura escribimos una palabra clave, la cual puede ser
la misma que para abrir la planilla.
Hacemos un clic en el botn Aceptar.

5
Aparecer la siguiente ventana.

Reescribimos la palabra clave anterior.

Hacemos un clic en el botn Aceptar. Volvemos A la ventana mayor Guardar como.

Hacemos un clic en el botn Guardar.

Ahora, cada vez que queramos abrir esta planilla, Excel solicitar la contrasea. En caso de
olvidarse esta, jams podremos abrirla as que debemos utilizar contraseas que podamos
recordar fcilmente.

6
PROTECCIN DE LOS DATOS DE UNA PLANILLA.

Sea la siguiente planilla, ya conocida por ustedes.

7
Activar la proteccin.
Hacemos un clic en cualquier celda de la tabla.

Nos dirigimos al men Herramientas opcin Proteger subopcin Proteger hoja. Y


aparecer la siguiente ventana.

Debemos escribir una contrasea para la proteccin de las celdas de la planilla, adems
debemos activar la casilla que dice Proteger hoja y contenido de celdas
bloqueadas.
En el recuadro mayor, podemos especificar las opciones que deseamos que los usuarios
que usen la planilla efecten sin que modifiquen los datos de la planilla.

Hacemos un clic en el botn Aceptar. Y aparecer la siguiente ventana.

Hacemos un clic en el botn Aceptar.

8
Si se pretende escribir, modificar o borrar datos de cualquier celda de la Hoja. Excel no lo
permitir y muestra la siguiente advertencia.

Desproteger la Hoja.

Si tenemos que realizar una modificacin sobre la planilla, podemos desproteger la hoja. Para
realizar lo anterior se procede as

Estando en cualquier celda de la planilla nos dirigimos al men Herramientas opcin


Proteger subopcin Desproteger hoja.
Aparecer la siguiente ventanita.

Hacemos un clic en el botn Aceptar.

Ahora nuestra planilla esta desprotegida, como lo estaba al principio.

9
Limitar la proteccin a ciertas celdas de la planilla.

Lo realizado anteriormente no es exactamente lo que necesitamos. Por lo general, queremos


proteger algunas celdas pero dejar desprotegidas otras celdas.

Debemos desproteger la planilla.


Seleccionamos el rango de celdas que deseamos dejar desprotegidas.

Nos dirigimos al men Formato opcin Celdas.

Debemos elegir la opcin superior Proteger.

Desmarcamos la casilla Bloqueada que ya viene activada.

Hacemos un clic en el botn Aceptar.


Procedemos a proteger la planilla por el mtodo visto anteriormente.

Ahora, las celdas del rango estipulado podrn modificarse independientemente si las dems
celdas de la Hoja estn protegidas.

10
CRITERIOS DE VALIDACIN

El que usamos en el ejemplo de las edades es el ms simple de los criterios de validacin. Pero
hay otros.
Lista de valores
En la planilla se indican nombres y sectores de un grupo de empleados. Los sectores vlidos a
escribir en la columna D son los que se ven en la tabla de la derecha.

Establecer criterio de validacin.

Seleccionamos el rango donde se escribirn los sectores. En el ejemplo es el rango


D5:D20.

Nos dirigimos al men Datos opcin Validacin.

Donde dice Permitir, descolgamos las opciones y seleccionamos Lista.

Donde dice Origen indicamos arrastrando el ratn, el rango donde figuran los datos
vlidos. En la Fig 60. El rango es F4:F7.
Todo lo anterior debe verse como lo indica la siguiente imagen.

11
Hacemos un clic en el botn Aceptar.

Luego de especificar este criterio de validacin, cuando colocamos el cursor sobre una de las
celdas de la columna Sector aparece una flechita. Si hacemos un clic en esta flechita se
descuelga la lista de valores permitidos.

De todas formas, tambin podemos escribir el valor directamente. Pero, en cualquier caso, los
que no pertenezcan a la lista sern rechazados.

12
BASES DE DATOS (AUTOFILTROS Y FILTROS AVANZADOS)
Base de datos
Que es una base de datos?
Cualquier planilla es por definicin una base de datos ya que posee una estructura uniforme de
filas y columnas. Por ejemplo

Cada integrante de la base de datos (cada vendedor, cada libro, cada tem, etc.) ocupa una fila
de la planilla, la filas tambin se les llama registros.
En cada columna consta un tipo especial de informacin de cada integrante: El cdigo, el
apellido, el nombre, etc. Las columnas se les conoce tambin con el nombre de Campos.
La planilla consta de 10 registros y 6 campos por registro.
Hasta el momento, la diferencia entre una base de datos y cualquier otra planilla parece tener
que ver solamente con los nombres que les ponemos a las cosas. Antes hablbamos de filas y
columnas y ahora hablamos de registros y campos.

Aplicacin del filtro avanzado


na vez hecho lo anterior, debemos colocar el cursor en cualquier celda de la tabla.

Nos dirigimos al men Datos opcin Filtro subopcin Filtro avanzado.


Aparecer la siguiente ventana.

13
El rango de la lista corresponde a toda la base de datos incluyendo los ttulos.

El rango de criterios corresponde a las celdas B16:B7, (sealamos el rango auxiliar,


incluyendo la celda en blanco) recordar que en la celda B17 se encuentra escrita la
condicin =F5<G5.

Hacemos un clic en el botn Aceptar.


Finalmente, se muestra aquellos registros de la base de datos que cumplen con el
criterio.

14
EXTRACCIN DE SUB-BASES DE DATOS.
En el ejemplo anterior, la sub-base ocupo toda la pantalla y oculto a los dems registros de la
base de datos lo que es obvio. Sin embargo, tambin los filtros avanzados permiten tomar los
registros que cumplen con el criterio y copiarlos en otro lugar de la misma hoja. De esta forma
obtenemos una sub-base de datos de la base de datos principal. Esto es lo que se har a
continuacin.

Los pasos para realizar lo anterior son los siguientes.

Colocar el cursor en cualquier celda de la tabla.(B4:G14).

Nos dirigimos al men Datos opcin Filtro subopcin Filtro avanzado.


En la ventana Filtro avanzado debemos estipular lo siguiente.

15
Presionamos el botn Aceptar.
Obtendremos la sub-base de datos graficada.

EXTRACCIN DE SUB-BASES MS COMPLEJAS.

Si deseamos aplicar un filtro avanzado con un rango de extraccin el cual debe contener los
nombres de los campos que queremos extraer debemos realizar lo siguiente.

Colocamos el cursor en cualquier celda de la base de datos. (asumiendo que no se ha


aplicado ningn autofiltro).
En el rango elegido de antemano. Por ejemplo las celdas B20:C20, Debemos copiar los
encabezados de columnas que deseamos que aparezcan una vez aplicado el filtro. Por
ejemplo las columnas Apellido y Regin.

16
Nos dirigimos al men Datos opcin Filtro subopcin Filtro avanzado.
Aparece otra vez la ventana donde especificamos el filtro.

En el recuadro Accin se elige la opcin que dice Copiar a otro lugar.

17
La accin anterior activar la opcin Copiar a en donde seleccionamos el rango
B20:C20 los cuales corresponden a los apellidos y la regin de los vendedores que
cumplen con la condicin estipulada.

Hacemos un clic en el botn Aceptar.

Nota:

Excel puede leer bases de datos provenientes de sistemas mayores que se encuentran en
formato DBF, TXT u otros similares. Se abren directamente indicando el tipo de archivo en
el men Abrir.

18
TABLAS DINMICAS, GRFICOS DINMICOS Y SUBTOTALES

Tablas dinmicas

La planilla ilustrada es un informe de ventas. Constan las ventas hechas por un equipo de
vendedores indicando el apellido del vendedor, la fecha de la venta, el monto y la forma de
pago.

A esta planilla le podemos pedir cosas que, aparentemente no estn all. Por ejemplo:

Una lista con los montos totales para cada vendedor.


La cantidad de ventas segn el da.
El monto promedio de las ventas.

Todo esto lo podemos hacer mediante Tablas dinmicas.

Un caso sencillo

Cuanto vendi cada vendedor?


Los pasos a seguir son los siguientes:

Colocamos el cursor sobre cualquier celda de la tabla que contiene la informacin


original.

19
Nos dirigimos al men Datos opcin Informe de tablas y grficos dinmicos.
Aparecer la siguiente ventana.

Aparece el primer paso del Asistente para grficos. Dicho Asistente consta de tres
pasos, en el primer paso pregunta dos cosas: De donde provienen los datos y qu
queremos hacer con ellos. Las opciones que sugiere son las que vamos a elegir: Los
datos estn en una lista o base de datos de Microsoft Excel y queremos crear una Tabla
dinmica.

Hacemos un clic en el botn Siguiente.


En el segundo paso, tenemos que indicar el rango de los datos de la planilla.

20
Hacemos un clic en el botn Siguiente.
Aparecer la siguiente ventana.

Hacemos un clic en el botn Finalizar.

Despus del ltimo paso no aparece la tabla dinmica propiamente tal sino que el esqueleto
junto a una barra de herramientas. Sobre este esqueleto, y con la ayuda de esta barra de
herramientas, tenemos que terminar de construir la tabla dinmica.

21
Aparecer la siguiente ventana.

Armar la tabla a mano

Tomamos con el ratn el cartelito que dice Vendedor y lo arrastramos a donde dice
Coloque campos de fila aqu.

Tomamos con el ratn el cartelito que dice Monto y lo arrastramos a donde dice
Coloque datos aqu.

Nota:
Todos aquellos campos que tienen informacin de tipo numrico se arrastran SIEMPRE a donde
dice Coloque datos aqu.

22
Una vez acomodados los dos rtulos, la tabla dinmica est lista.

Actualizacin de la tabla dinmica

A diferencia de lo que su nombre sugiere, la tabla dinmica no es dinmica: Si cambiamos un


dato en la lista original, el cambio no se refleja en la tabla dinmica. Para que esto suceda
debemos ir al men Datos opcin Actualizar datos. (Estando en la Hoja donde se encuentra
la tabla dinmica).

Modificacin de la tabla dinmica

Cambiar el diseo de la tabla dinmica es muy simple. Por ejemplo, sea el caso de clasificar los
datos de la tabla segn la condicin de venta. Simplemente se trata de tomar el rtulo que
identifica el campo Condicin, y llevarlo de la barra de herramientas a la parte superior de la
tabla.
Se hace un clic sobre la tabla dinmica ilustrada en caso de que no aparezcan la lista de
campos de tablas dinmicas.

Hacemos un clic en el cartelito Condicin. y lo arrastramos a la tabla dinmica. Lo


mismo podramos hacer con cualquier otro campo.

23
La tabla dinmica debe verse tal como se ilustra.

Visualizar datos seleccionados


Debemos hacer un clic sobre la flechita que aparece a la derecha del campo Condicin. Se
descuelga la lista de valores del campo.

Desmarcamos con un clic la opcin Crdito.


Hacemos un clic en el botn Aceptar.
El resultado de aplicar lo anterior es la siguiente ventana.

Cambiando la operacin

24
La tabla dinmica anterior calculaba la suma de los montos. Pero, S quisiramos conocer la
cantidad de ventas realizadas?

Colocamos el cursor en cualquier celda de la tabla dinmica.

Hacemos un clic en la opcin Tabla dinmica dentro de la barra de herramientas del


mismo nombre.

Del submen que se descuelga, tomamos la opcin Configuracin de campo.


Aparecer la siguiente ventana.

Se elige la operacin matemtica. Por ejemplo Cuenta.

Hacemos un clic en el botn Aceptar.

25
GRFICOS DINMICOS

Cuando en el primer paso, El Asistente pregunta qu queremos hacer, nos ofrece la opcin
Tabla dinmica, pero tambin Grfico dinmico. Para crear un grfico dinmico, debemos
realizar los siguientes pasos.

Colocamos el cursor en cualquier lugar de la tabla que contiene los datos a graficar.
Elegimos el men Datos opcin Informe de tablas y grficos dinmicos. Aparecer el
asistente que ya conocemos

Hacemos un clic en el botn Siguiente.


En el segundo paso indicamos el rango de los datos. Como en el caso de las tablas, el
rango que sugiere el asistente es el correcto. Si no fuera as, lo sealamos arrastrando
el ratn.

Hacemos un clic en el botn Siguiente.

En el tercer y ltimo paso solamente tenemos que decirle al Asistente dnde quereos
poner el grfico. Indicamos Hoja de clculo nueva.

Hacemos un clic en el botn Finalizar.

26
Luego de estos pasos, obtenemos el grfico ilustrado que, tal como ocurra con las tablas, no
es el grfico propiamente dicho, si no su esqueleto.

Armar un grfico dinmico a mano

Tomamos con el ratn el cartelito que dice Vendedor y lo llevamos a donde dice Coloque
campos de categora aqu.
Tomamos con el ratn el cartelito que dice Forma de Pago y lo llevamos a donde dice
Coloque campos de serie aqu.
Tomamos con el ratn el cartelito que dice Monto y lo llevamos a donde dice Coloque datos
aqu.

27
Nuestro grfico dinmico queda as:

Grfico dinmico resultante. Los valores que aparecen en las barras se hicieron pinchando el
botn derecho del ratn sobre un rea en blanco del grfico dinmico y luego se eligi la opcin
Opciones de grfico. En seguida, se hizo un clic en la opcin superior Rtulo de datos y
finalmente se hizo un clic en la casilla Valor. Y Aceptar.

28
LOS SUBTOTALES

Otro comando que nos permite organizar planillas para pedirle ms informacin que la que
aparece contener es Subtotales.

Para crear una planilla con subtotales debemos realizar lo siguiente.

Tener la planilla ordenada. Por ejemplo por Vendedor.


Colocamos el cursor en cualquier celda de la lista.

Nos dirigimos al men Datos opcin Subtotales.


Aparece la siguiente ventana.

Donde dice Para cada cambio en, indicamos Vendedor. Es el campo segn el cual se
subtotaliza.

Donde dice Usar funcin, indicamos Suma. Es porque queremos hacer una suma.

Donde dice Agregar subtotal a, activamos la casilla Monto (y desmarcamos cualquier


otra opcin).

Hacemos un clic en el botn Aceptar.

29
La planilla resultante queda as.

30
Manejar una planilla con subtotales.

La planilla entrega los Subtotales propiamente dichos. Pero adems aparecen unos controles
ubicados al lado izquierdo de la pantalla. Estos controles permiten contraer o expandir la
planilla mostrando distintos niveles de informacin.

Ocurre que una planilla con subtotales puede aparecer con tres niveles de detalle
distintos:

Solamente el total general.


El total general y los subtotales por vendedor.
Toda la planilla.

Eliminar subtotales
Colocamos el cursor sobre cualquier celda de la tabla con subtotales.
Nos dirigimos al men Datos opcin Subtotales.
Aparece la ventana donde antes indicamos el criterio de subtotalizacin.
Hacemos un clic en Quitar todos.

31
Al realizar esto, la planilla vuelve a su estado original.

32
LA FUNCION CONDICIONAL SI
Un problema de Sueldos y jornales

La siguiente planilla debe indicar en la columna F el sueldo a cobrar por cada empleado segn
el criterio.

Si el empleado trabaj menos de 22 das, entonces se multiplican los das trabajados


por el jornal de la columna D.
Si trabajo 22 das o ms, se considera el sueldo mensual de la columna E.

La funcin condicional

El problema con el clculo del sueldo es que puede tomar dos valores posibles, segn el
cumplimiento o no de una condicin.

Si consideramos el sueldo a calcular en la celda F5, hay tres expresiones a tener en cuenta:

Se calcula como C5*D5 (das trabajados por el jornal) si el valor de C5 es menor que
22.
Es igual a E5 (sueldo mensual) en caso contrario.

Es decir, que hay tres expresiones involucradas: los dos valores posibles del sueldo y la
condicin que decide cual de estos dos valores se aplica realmente.

Tendramos que ir repasando la lista viendo si se cumple o no la ltima condicin y, en funcin


de ello, aplicar el primer clculo o el segundo.

33
En vez de ello vamos a usar la funcin condicional SI tal como aparece en la pgina siguiente.

En donde:

(1) Cmo en todo frmula, se empieza con el smbolo = y el SI corresponde al nombre de


la funcin.
(2) El primer argumento es la condicin. Los das trabajados son menores que 22.
(3) Corresponde al valor si la condicin anterior se cumple.
(4) Corresponde al valor si la condicin no se cumple.

La funcin anterior que aparece en la celda F5, debe extenderse al resto de la lista usando el
puntero de estirar.

Algunas observaciones sobre la funcin condicional.

La funcin condicional se llama SI y tiene tres valores o argumentos entre los parntesis.

La condicin que decide cual valor se debe tomar.


El valor a tomar si la condicin se cumple.
El valor a tomar si la condicin no se cumple.

Estos tres argumentos deben escribirse entre los parntesis en ese orden y en ningn otro.

34
LA FUNCIN BUSCARV

En la planilla siguiente, la columna E debe completarse con los sueldos de cada empleado.
Estos sueldos depender de la categora, segn la tabla auxiliar de la derecha.

Para completar esta planilla a mano deberamos hacer lo siguiente.

(1) Tomar nota de la categora del primer empleado.


(2) Buscar esa categora en la tabla de la derecha.
(3) Tomar nota del sueldo que acompaa a la categora buscada en esa tabla.

Y as sucesivamente hasta agotar la lista de empleados. Todo esto es lo que hace


automticamente la funcin de bsquedas en tablas BUSCARV.

35
La funcin de bsqueda en tablas

La funcin que resuelve este problema se llama BUSCARV y la tenemos en funcionamiento en


la siguiente planilla.

En donde:

(1) Este es el valor de entrada, con el que se entra en la tabla auxiliar.


(2) Este es el rango de la tabla auxiliar. Aparece fijado con signos $ para poder extender la
frmula al resto de la lista.
(3) Este nmero indica que el valor buscado (el sueldo) est en la segunda columna en la
tabla auxiliar.

36
Cuando la columna de entrada est desordenada
En el anterior ejemplo dijimos que la primera columna de la tabla auxiliar deba estar ordenada
en forma creciente. Y qu pasa s no lo est? Pasar lo que se ve a continuacin.

Aparezca el valor #N/A (Not available no disponible) para algunas categoras.


Efectivamente, cuando la primera columna de la tabla auxiliar no est ordenada, la funcin
BUSCARV puede devolver resultados impredecibles.
Si por alguna razn, no es posible ordenar esa primera columna, la funcin BUSCARV debe
incluir otro argumento: El valor lgico FALSO.

37
Otro ejemplo

Sea la siguiente planilla.

Hay que hacer notar que, en la tabla auxiliar de la derecha, no se indica la calificacin en
palabras para todas las notas, no dice ah, por ejemplo, qu le corresponde a un 7. Sin
embargo, la planilla funciona como es debido. 7 es Bueno(a), lo mismo que 7,50 o cualquier
nota mayor o igual a 6, pero sin llegar a 8.

Cmo trabaja la funcin BUSCARV.

Primero considera la Nota del alumno (primer argumento).


Segundo, busca esa nota en la tabla auxiliar (segundo argumento).
Una vez encontrada la nota, trae el valor que la acompaa en la segunda columna de la
tabla (el tercer argumento indica que el valor a traer est en la segunda columna).

Consideraciones a tener en cuenta

El rango de la tabla indicado como segundo argumento debe incluir todas las columnas
y todas las filas, pero no debe incluir la fila de ttulos, si las hubiese.
La primera columna de la tabla auxiliar Debe estar ordenada en forma creciente.
El rango de la tabla se fija con signos $ para poder extender la frmula.

38
Un caso ms complejo

Muestra una variante a la planilla del ejemplo anterior: Se emplea una segunda funcin
BUSCARV (en la columna F) para obtener el nombre de la Obra social, que tambin depende
de la categora, segn la tabla auxiliar de la derecha, que ahora tiene tres columnas.

Lo nico que cambia respecto del ejemplo anterior es que el ltimo argumento indica que la
Obra social se trate de la tercera columna de la tabla auxiliar.

39
ANALISIS Y SI

El anlisis y si es el proceso de cambiar los valores de las celdas para ver cmo afectan los
cambios al resultado de las frmulas de la hoja de clculo.

En Excel se incluyen tres tipos de herramientas de anlisis y si: escenarios, tablas de datos y
bsqueda de objetivo.

Los escenarios y las tablas de datos toman conjuntos de valores de entrada y determinan
posibles resultados. Una tabla de datos funciona nicamente con una o dos variables, pero
puede aceptar muchos valores diferentes para estas variables. Un escenario puede tener
muchas variables, pero puede acomodar hasta 32 valores.

La bsqueda de objetivo funciona de forma distinta a los escenarios y las tablas de datos ya
que toma un resultado y determina los valores de entrada posibles que producen ese resultado.
Adems de estas tres herramientas, puede instalar complementos que le ayudarn a realizar
anlisis y si, como el complemento Solver.

El complemento Solver es similar a la bsqueda de objetivo, pero puede acomodar ms


variables. Tambin puede crear previsiones mediante varios comandos y el controlador de
relleno que estn integrados en Excel.

40
ESCENARIOS
Un escenario es un conjunto de valores que Excel guarda y puede reemplazar de forma
automtica en las celdas de una hoja de clculo. Puede crear y guardar diferentes grupos de
valores en una hoja de clculo y, luego, cambiarlos a cualquiera de estos nuevos escenarios
para ver los diferentes resultados.
Supongamos que tenemos varios supuestos de peticin de un crdito con varios tipos de
intereses y varios posibles periodos. Podramos crear una hoja cambiando las celdas
manualmente. Otra forma de hacerlo es utilizando Escenarios.
Creamos una hoja de clculo de amortizacin de prstamos.

Item Datos
Capital $2.000.000
Inters 5%
Aos 4
Cuota mensual $ 46.059

=PAGO(B4/12;B5*12;-B3)

Ahora Vamos a crear los supuestos para evaluar cual ser nuestra mejor opcin:
Inters al 5% y 5 aos
Inters al 5% y 6 aos
Inters al 4,5% y 3 aos
Capital 1.500.000 , inters 4% y 5 aos
Para desarrollar estos Escenarios debemos desarrollar los siguientes pasos:
Herramienta / Escenarios / Agregar
Como nombre del Escenario , Escribimos Prstamo
Como celda cambiante desde los Datos de Capital hasta Aos y luego aceptar.
Observamos que aparecen tres celdas que permitirn hacer los cambios.

Celda 1 2000000 Cambios que


se van a
realizar para
Celda 2 0,05 los supuestos

Celda 3 5

Pasar a otro cuadro de dialogo


El escenario ya se a creado
Aada los tres ejemplos restantes mencionados anteriormente (con nombres distintos)
Luego de agregarlos, hacemos clic en el botn Resumen y ellos aparecern en otra hoja
aadiendo un informe de los resultados.

41
BUSCAR OBJETIVO

Esta opcin se utiliza para buscar un valor especfico como resultado de una formula,
modificando el contenido de una celda. Excel buscar que valor debera tomar esa celda para
conseguir el resultado esperado

ITEM VALORES

Precio del Artculo 5.000

IVA 19%

Total IVA 950

Precio Venta 5.950

Celda a Definir

Los pasos a seguir un Precio Venta de 5.000 son:

Herramienta / Buscar Objetivo


Se abrir un asistente el cual le pedir los Siguientes Datos:

Definir Celda = Celda a definir


Con el valor = 5000
Para Cambiar la Celda = Donde aparece el Precio de Venta

Luego de llenar los datos hacemos clic en Aceptar y nos pedir la confirmacin del resultado.

42
SOLVER

Con Solver, puede buscarse el valor ptimo para una frmula de una celda, denominada celda
objetivo, en una hoja de clculo.

Solver trabaja con el grupo de celdas que estn relacionadas, directa o indirectamente, con la
frmula de la celda objetivo. Solver ajusta los valores de las celdas variables que se
especifiquen, denominadas celdas ajustables, para obtener el resultado especificado en la
frmula de la celda objetivo. Pueden aplicarse restricciones para restringir los valores que
puede utilizar

Ejemplo: El cliente solicita un prstamo de $1.000.000, pero desea pagar cuotas de $90.0000
en 10 meses o ms exactos. El Banco puede aplicar tasas de inters entre 3% y 4%.

Los pasos a seguir son:

Herramienta / Solver
Se abrir un asistente el cual le pedir los Siguientes Datos:
En el caso que la herramienta Solver no estuviese activa, los pasos son los siguientes:
Ir al men Herramientas
Clic en Complementos
Marcar el cuadro Solver
Clic en Aceptar.

43
Hora s est en condiciones de trabajar con Solver

44
OBJETOS DE DIALOGO

Una planilla con objetos de dilogo

La planilla siguiente es muy simple, calcula el importe de una compra a partir de unos pocos
datos.

Son datos el precio unitario, la cantidad vendida, el porcentaje de descuento.

El Sub Total se obtiene multiplicando la Cantidad por el Precio.

En Neto se obtiene multiplicando el Sub Total por uno menos el descuento.

Lo que queremos hacer es que la planilla calcule el importe de la compra sin que debamos
entrar en las celdas para cargar los datos usando objetos de dilogo.

Las barras de desplazamiento.

Una cosa que podemos hacer es usar una barra de desplazamiento para indicar la cantidad de
artculos como se ve.

45
Insercin de objetos de dilogo La barra de herramientas Formularios

Para insertar la barra de desplazamiento (y dems objetos de dilogo) necesitamos una barra
de herramientas que no tenemos a mano: La barra de herramientas Formularios. Comencemos
por obtener esa barra.

Nos dirigimos al men Ver opcin Barras de herramientas sub opcin Formularios.
Aparecer el alguna parte de la pantalla una barra de herramientas. Esa es la barra de
herramientas Formularios.

Con esta barra podremos insertar todos los objetos de dilogo.

Insertando la barra de desplazamiento

Hacemos un clic en el botn de la barra de desplazamiento. El puntero del ratn se


convertir en una pequea cruz.
Definimos y arrastramos el ratn, un rectngulo de aproximadamente una fila de alto y
tres columnas de ancho.
Al soltar el botn izquierdo del ratn, la barra aparecer sobre la planilla. Ahora
tenemos que definirle sus propiedades.

Establecer el vnculo

Hacemos un clic con el botn derecho del ratn sobre la barra. Aparecer el siguiente
men.

46
Elegimos la opcin Formato de control. Aparecer la siguiente ventana.

Donde dice Valor actual, escribimos 0.

Donde dice Valor mnimo escribimos 1.

Donde dice Valor mximo escribimos 100.

Donde dice Incremento, escribimos 1.

Donde dice Cambio de pgina, escribimos 10.

Donde dice Vincular con la celda, indicamos C5.

Hacemos un clic en el botn Aceptar.

Adems de la celda vinculada, establecemos los valores mximos y mnimos que puede tomar
la barra de desplazamiento y como cambiarn. El incremento es el cambio en el valor de la
celda vinculada al deslizar el cursor a lo largo de la barra. El cambio de pgina es el cambio
en el valor de la celda vinculada al hacer un clic dentro de la barra.

Ya podemos probar si la barra funciona. Haciendo clics en las flechitas de los extremos de la
barra, o tomando el cursor con el puntero y deslizando a lo largo de la barra, deber cambiar el
valor de la celda C5.

47
INTRODUCCIN A LAS MACROS EN EXCEL
Qu son las Macros?

Las macros sirven para agilizar el trabajo con Excel. Son como supercomandos con una nica
orden; se ejecutan varias operaciones sucesivas.

Por ejemplo, la planilla anterior. Muestra una lista de Personal. Por razones de seguridad, a
veces se imprime esta lista ocultando la columna de los sueldos; para eso usamos el Men
Formato opcin Columna sub opcin Ocultar.

En realidad, esto es un poco latero. Vamos a ver cmo agilizar las cosas con una macro.

Creacin de una macro


Aqu podemos hablar de sentencias, comandos de lenguaje Visual Basic y de otros temas de
programacin. Eso lo dejamos para ms tarde. Ahora vamos directamente a los hechos.

Nos dirigimos al men Herramientas opcin Macro sub opcin Grabar nueva macro.

Donde dice Nombre de la macro escribimos OcultarSueldos.

Donde dice Mtodo abreviado activamos la combinacin SHIFT + A. Estas dos teclas,
junto con CONTROL, servirn luego para ejecutar la macro.

Hacemos un clic en el botn Aceptar.

48
Acabamos de encender el Grabador de macros. Es como un pequeito enann que tomar
nota de todo lo que hagamos a continuacin y escribir la macro equivalente a esas acciones.
Aparece tambin la barra de herramientas Detener Grabacin. El primer botn de esta barra
servir para apagar el grabador cuando hayamos terminado.

Con el grabador prendido, procedemos a ocultar la columna.


Colocamos el cursor sobre cualquier celda de la columna a ocultar
(Columna F).
Nos dirigimos al men Formato opcin Columna sub opcin
Ocultar.

Luego de realizar lo anterior, apagamos el grabador con un clic en el botn detener Grabacin.
Ya est creada la macro y ahora podemos hacerla funcionar.

Presionamos las teclas CONTROL + SHIFT + A, que es la que indicamos cuando iniciamos la
grabacin. Si todo sali bien la columna de los sueldos a quedado oculta.

49
La macro por dentro

Nos dirigimos al men Herramientas opcin Macro sub opcin Macros.

Aparecer una ventana con una lista de macros disponibles (lista que por ahora consta
solamente de la macro OcultarSueldos).

Hacemos un clic sobre la macro OcultarSueldos.


Hacemos un clic en el botn Modificar.
A continuacin se abrir una ventana con un nuevo programa: El editor de Visual Basic. Ocurre
que hasta ahora no lo habamos comentado, pero las macros son programas escritos en
Lenguaje Visual Basic. Cada lnea de la macro es una instruccin qu, traducida a Visual Basic,
equivale a un comando u operacin de Excel.

50
EL CDIGO DE LA MACRO
La macro comienza con la instruccin especial Sub, seguida del nombre elegido para la
macro.
Luego aparecen unas lneas precedidas por un apstrofo. Estos son comentarios para el
programador y no forman parte de la macro.
La siguiente instruccin tiene dos partes: El objeto y la accin, separados por un punto.
Concretamente, el objeto es el rango F6 y la accin es seleccionar ese rango. Esta
instruccin, entonces corresponde a la operacin de seleccionar la celda F6 que,
justamente, fue lo primero que hicimos luego de encender el grabador.
La siguiente instruccin tambin tiene partes separadas por puntos, pero es ms compleja.
Significa que, de la direccin actualmente seleccionada, se toma toda la columna y se le
da la propiedad oculta (Hide, en ingls). Esta instruccin podramos considerarla de la
forma objeto.propiedad. El objeto es la columna a la cual pertenece la seleccin
actual; la propiedad es su carcter de oculto. Las estructuras objeto.accion y
objeto.propiedad aparecen mucho en Visual Basic.
Finalmente, la macro termina con la instruccin End Sub.

El botn de muestra
En los ejemplos anteriores ejecutamos las macros mediante una
combinacin de teclas, pero hay otras formas. Probablemente, la ms
elegante es insertando un botn en la planilla.
Los botones de macro los obtenemos en la barra de herramientas
Formularios, de modo que tenemos que activar esa barra dirigindonos al men Ver opcin
Barra de herramientas sub opcin Formularios.

Hacemos un clic en el elemento Botn, dentro de la barra de herramientas Formulario.


Luego, el puntero del ratn adopta la forma de una cruz fina.
Definimos arrastrando el ratn, un rectngulo del tamao deseado para el botn.
Al soltar el botn del ratn, aparecer el botn en la planilla.
Seleccionamos la macro que queremos asignar al botn
Hacemos un clic en el botn Aceptar.
Ahora podemos ejecutar la macro de OcultarMostrar haciendo un clic en este botn. Quedar
mejor si el botn tuviese un rtulo adecuado.

51
Cambiar el texto del botn

Al insertar el botn, ste aparece con el nombre Botn. Seguido de un nmero de orden. Para
cambiar este texto debemos realizar lo siguientes pasos:

Hacemos un clic sobre el botn, usando el botn derecho del ratn. Aparecer el famoso
men contextual.

Elegimos la opcin Modificar texto. Aparecer pestaeante el cursor dentro del texto
actual.

Borramos este texto y escribimos un nuevo texto. Por ejemplo. Ocultar o Mostrar
Sueldos.
Hacemos un clic fuera de los lmites del botn.

52
CREAR UN FORMULARIO DE INGRESO DE DATOS

Supongamos, deseamos crear un formulario que nos permita el ingreso de datos a una planilla.
Ejecutamos el Excel y realizamos lo siguiente:

Luego creamos un botn al que llamaremos Ingresar Datos, dirigindonos al men Ver->
Barra de herramientas -> Formularios.

Aparece una ventanita con distintos botones y pinchamos una vez en el icono que simboliza los
botones.

Luego nos dirigimos al lugar de la hoja donde deseamos colocar nuestro botn, el resultado de
realizar esto, lo vemos en la siguiente ventana.

53
A continuacin, asignamos un nombre a nuestra macro e inmediatamente pinchamos en el
botn Nuevo para que aparezca otra ventana en donde se escribe el siguiente cdigo:

Este cdigo indica que cada vez que pinchemos en este botn, se mostrar en pantalla el
formulario asociado que estamos creando. (El que permitir el ingreso de los datos).
Luego cerramos y en la planilla le cambiamos el nombre del botn por otro ms descriptivo
para el usuario.
Para cambiar el nombre del botn (el que aparecer ante el usuario), debemos pinchar una vez
en la seccin texto del botn y borrar el nombre propuesto (Botn 1) y colocar otro.

54
Luego de escribir el nombre al botn, se pincha en cualquier celda.

Ahora, para crear el formulario de ingreso de datos, nos vamos al men Herramientas ->
Macro -> Editor de Visual Basic (o bien, simplemente presionamos las teclas ATL y F11), y
llegaremos a la siguiente ventana. En donde nos vamos al men Insertar -> UserForm.

Aparece una ventana en donde podemos disear nuestro formulario.

55
A continuacin debemos pinchar inmediatamente en el icono superior Cuadro de Herramientas
para poder crear los cuadros de textos y los botones que podamos colocarle a este incipiente
formulario de ingreso de datos.

En nuestro caso, procedemos a utilizar solamente: Etiquetas, cuadros de texto y botones


de comando:

Si queremos colocar etiquetas en nuestro formulario, procedemos a pinchar una vez sobre el
icono del la etiqueta y despus llevamos el puntero del ratn hasta el formulario y una vez
sobre el lugar donde quedar pinchamos una vez el botn izquierdo del ratn.

56
Ahora, procedemos a colocar los cuadros de textos:

Ahora, procedemos a insertar los botones Insertar y Cerrar.

57
LA PROGRAMACIN EN VBA DE LAS ACCIONES DE LOS BOTONES INSERTAR Y
CERRAR.

Pinchamos con el botn derecho del ratn sobre el botn Insertar y se escribe el siguiente
cdigo:

A continuacin escribimos el siguiente cdigo:

58
El anterior cdigo, nos permitir tomar los valores numricos escritos en los cuadros
respectivos y en la columna E, en la fila respectiva, se escribir el resultado de multiplicar el
cuadro de texto 2 y el cuadro de texto 3.

La funcin VAL permite que un nmero escrito como cadena de texto sea procesado como
nmero.

Ahora procedemos a programar el botn Cerrar con el siguiente cdigo

Una vez escrito este cdigo, lo grabamos y cerramos todas las ventanas de cdigos, para
volver a la planilla original. Aqu pinchamos en el botn Insertar Datos.

59
Finalmente, ingresamos los datos:

A medida que se ingresan los datos, el cursor siempre queda posicionado en la celda E5.

60
Metiendo la mano en el cdigo

Nuestra macro tiene dos instrucciones:

Seleccionamos una celda de la columna F.


Ocultar la columna correspondiente a la celda seleccionada.

Pero a la luz de lo que acabamos de decir acerca de objetos, propiedades y acciones, estas dos
instrucciones se podran reducir a una: Ocultar la columna correspondiente a la celda F2.
Traducido a Visual Basic sera:

Range(F3).EntireColumn.Hidden = True

Y es as no ms. Podemos meternos en el editor, trabajando como si fuera un procesador de


textos y modificar el cdigo reemplazando las dos instrucciones en la forma que acabamos de
mostrar.

61
UNA MACRO, DOS OPERACIONES

Todava podemos ir un paso ms all. Sera mucho ms cmodo trabajar con una sola macro;
ocultara la columna F si estuviera visible y la hara visible si estuviera oculta.

Esta nueva macro usa la instruccin condicional If, que en ingls quiere decir Si. Podran
traducirse as:

Si la columna correspondiente a la celda F6 est a la vista, entonces (en ingls, Then)


ocultamos la columna correspondiente a la celda F6.
En caso contrario (en ingls, Else), si est oculta
Mostramos la columna correspondiente a la celda F6.
Fin (End) de la condicin.

Las instrucciones de la forma If Then Else se llaman condicionales porque ejecutan una
u otra operacin segn el cumplimiento o no de una condicin. Este tipo de estructura aparece
en muchos lenguajes y Visual Basic no es la excepcin.

62
PROGRAMANDO MACROS UTILIZANDO FUNCIONES

Maysculas / Minsculas
Suele ocurrir, pero estamos muy entusiasmados escribiendo sin mirar la pantalla y luego de un
largo rato levantamos la vista y nos damos cuenta que tenamos presionada la tecla Bloq
Mays.
En Microsoft Word hay una forma simple de arreglar las cosas: Seleccionando el texto y nos
dirigimos al men Formato opcin Cambiar maysculas y minsculas.
Por alguna razn, no existe un comando equivalente en Microsoft Excel. Pero podemos escribir
una macro que haga el mismo trabajo.

Uso de la funcin UCase()


El procedimiento es el siguiente:

Nos dirigimos a las opciones Herramientas opcin Macro subopcin Editor de Visual
Basic.

Aparecer una nueva ventana en donde debemos elegir el men Insertar opcin
Mdulo.

Escribimos el siguiente cdigo


Sub MAYUSCULA()
Selection.Value = Ucase(Selection.Value)
End Sub

La sintaxis de esta macro es fcil de entender:

Selection.Value hace referencia al valor de la celda actualmente seleccionada.

Ucase() es una funcin de Visual Basic que convierte a maysculas el texto y lo vuelve
a colocar en la misma celda.

De modo que la macro toma el contenido actual de la celda, lo pasa a maysculas y lo vuelve a
colocar en la misma celda.

Luego probamos la macro, para ello, escribimos en cualquier celda una palabra en
Minsculas. Luego elegimos esta celda y nos vamos al men Herramientas opcin
Macro subopcin Macros.

Seleccionamos la macro MAYUSCULAS.

Hacemos un clic en el botn Ejecutar.

El resultado ser que el texto escrito originalmente en minsculas aparecer en maysculas.

63
LIMITACIONES

La macro anterior tiene dos restricciones importantes:

En primer lugar acta sobre el contenido de las celdas seleccionadas,


independientemente de que ese contenido sea texto, nmero frmula. Cuando el valor
es numrico no hay problema, porque la funcin Ucase() no afecta a esos datos. Pero
cuando la celda contiene una frmula, la macro la reemplaza por su resultado. De modo
que perdemos la frmula.

Por otra parte, solamente funciona con celdas individuales. No podemos, por ejemplo,
seleccionar todo un rango y ejecutar la macro para pasar a maysculas el contenido de
cada una de sus celdas. Si lo hiciramos, obtendramos el mensaje de error.

Un error al ejecutar la macro MAYUSCULAS() sobre un rango de celdas. Excel nos est
diciendo con este mensaje que el tipo de datos que figuran en la funcin Ucase() no es
correcto.

64
RANGOS
La funcin Ucase() trabaja con valores individuales. Para usarla en una macro que acepte
rango de varias celdas, necesitamos un procedimiento que tome el rango seleccionado y lo
recorra considerando una celda por vez. Este mtodo existe:

For Each a In Selection


a.Value = Ucase(a.Value)
Next
Este procedimiento recorre la Selection actual y analiza por separado cada una de sus celdas,
aplicndoles todas las instrucciones que aparezcan entre For Each y Next. En este caso, la
conversin a maysculas.

Las celdas analizadas en la recorrida estn representadas en el procedimiento por la variable a.


Este nombre es arbitrario y podra haber sido cualquier otro. De modo que a.Value representa
el valor de cada una de las celdas del rango seleccionado, tomado individualmente. Esto incluye
el caso especial de que el rango est formado por una sola celda y funciona tambin cuando se
seleccionan rangos separados (manteniendo apretada la tecla Control mientras se hace la
seleccin).

Para probar esta nueva versin de la macro, tenemos que incluir la clusula anterior entre el
Sub y End Sub, tal como se ve en el cdigo siguiente:

El resultado es el siguiente:

65
ATAJANDO ERRORES

Veamos el segundo problema. Tenemos que asegurarnos de que la macro acta solamente en
celdas cuyo contenido es un texto, salteando las dems.

La solucin consiste en aplicar una clusula condicional que pregunte cul es el tipo de valor
contenido en la celda. Algo que funcione ms o menos as: si el tipo de datos es texto,
entonces realizar la conversin, en caso contrario, dejar todo tal como est.

Para esto necesitamos dos cosas: una funcin que nos diga cul es el tipo de datos y una
expresin condicional en Visual Basic.

Para lo primero usamos la funcin VarType(). Esta funcin devuelve un nmero que depende
del tipo de datos correspondiente a la expresin entre parntesis, segn la tabla siguiente.

Valor devuelto Tipo de dato

0 Vaco.

1 Dato no vlido.

2 Entero.

3 Entero largo.

4 Punto flotante de precisin simple.

5 Punto flotante de precisin doble.

6 Moneda.

7 Fecha.

8 Texto.

9 Objeto OLE automtico.

10 Error.

11 Lgico o Booleano.

12 Variante de matriz.

13 Objeto OLE no automtico.

8192 Matriz.

66
La tabla anterior muestra unos cuantos casos raros, pero es un detalle; el que buscamos por
ahora es el tipo Texto, que corresponde a un valor devuelto igual a 8.

Por otra parte, la clusula condicional en Visual Basic es conocida.

If VarType (a.Value) = 8 Then


a.Value = Ucase(a.Value)
End If.

Juntando todo, nos queda la macro en su forma final, tal como se muestra.

Esta es la versin final de la macro. Funciona con rangos de una o ms celdas y se salta
aquellas celdas cuyo contenido no sea texto.

67
OTRAS MACROS COMPLEMENTARIAS

Sobre la base de la macro MAYUSCULAS, podemos escribir otras macros similares.

Esta macro convierte los textos contenidos en las celdas seleccionadas, pasando todas y cada
una de sus letras a minsculas. Usando la funcin LCase().

Esta macro convierte los textos contenidos en las celdas seleccionadas, pasando la primera
letra a maysculas y el resto a minsculas.

68
Ejecucin de la macro ilustrada anteriormente.

Sea la siguiente tabla.

Esta tabla contiene el listado de los principales diarios con mayor tirada en Chile. Y deseamos
aplicarles la macro FRASE() para que slo la primera letra del texto quede en maysculas y el
resto en minsculas.

Seleccionamos el rango de celdas B4:C15.

Nos dirigimos al men Herramientas opcin Macro subopcin Macros.

69
Debemos elegir la macro FRASE y a continuacin hacer un clic en el botn Ejecutar.
Resultado:

El resultado despus de aplicar la macro FRASE(), La primera letra del texto aparece con
maysculas y el resto con minsculas.

Las funciones Left, Right y Mid


Visual Basic tiene tres funciones que permiten tomar una porcin cualquier de un dato.
Left: Toma la parte izquierda (en ingls, left) de un texto. Por ejemplo:

Left(LOCOMOTORA,4) devuelve LOCO.

Right: Toma la parte derecha (en ingls, right) de un texto. Por ejemplo:

Right(LOCOMOTORA,4) devuelve TORA.

Mid: Toma la parte central (middle) de un texto. Por ejemplo:

Mid(LOCOMOTORA,3,4) devuelve COMO.

La funcin Mid tiene dos argumentos numricos. El primero indica desde qu posicin se
cuentan los caracteres. El segundo considera cuantos caracteres se tomarn. En el ejemplo
anterior se toman cuatro letras, contando desde la tercera.
Sin embargo, la macro FRASE() ilustra la funcin Mid con un solo argumento. En ese caso, se
toman todos los caracteres desde la posicin que indica el nmero hasta el final del texto. Por
ejemplo la expresin Mid(LOCOMOTORA,6) devuelve el texto OTORA.

70
Ciclos: La instruccin Do UntilLoop
Un ciclo o bucle (en ingls se le conoce como loop). El lenguaje Visual Basic incluye un juego
de instrucciones especiales para la repeticin de bucles: Do UntilLoop. Su sintaxis es la
siguiente:

Do Until condicin

(instrucciones)

Loop

Esta estructura de control (as se llama tcnicamente) repite todas las instrucciones
comprendidas entre Do y Loop hasta que se satisfaga la condicin indicada en Until. Por
ejemplo, las instrucciones de las siguientes imagenes bajan el cursor desde A1 hasta encontrar
una celda cuyo valor sea 100.

Estas instrucciones hacen avanzar al cursor desde la columna A fila 1 hasta localizar la celda
cuyo valor sea 100. (Que debe estar en la columna A).

La instruccin Offset (que significa algo as como corrimiento) mueve el cursor respecto de la
posicin actual. Los dos nmeros entre los parntesis indican la distancia a mover en cada
direccin. El primero es el movimiento vertical, positivo hacia abajo y negativo hacia arriba. El
segundo es el movimiento horizontal positivo hacia la derecha y negativo hacia la izquierda.
Offset(1,0), entonces, baja el cursor una fila, mantenindolo en la misma columna.

Este movimiento se repite hasta que la celda activa (aquella donde se encuentre el cursor en
cada momento) tenga el valor de 100.

71
De nmeros a letras
Un problema comn en sistemas de remuneraciones es dado un nmero cualquiera, debemos
obtener su expresin literal. Por ejemplo, para el nmero 69, debemos obtener sesenta y
nueve.

Este es un problema ideal para ser resuelto por funciones creadas por el usuario utilizando
macros. Por ejemplo, sea la siguiente planilla.

Esta funcin devuelve el nombre de un nmero de una cifra numrica.

El cdigo de la funcin NOMBRENUMERO()

Explicacin del cdigo


CADENA es una cadena que contiene los nombres de los nueve dgitos, con espacios
intercalados de manera variable para que todos los nombres ocupen el mismo tamao. El
nombre ms largo de la lista es cuatro, con seis letras. De modo que los espacios en blanco
hacen que, cada seis letras, comience un nombre.
La funcin Mid extrae, de la cadena CADENA, las seis letras correspondientes al nombre del
nmero x. Efectivamente, la sintaxis de la funcin es:

72
Mid(CADENA, posicin inicial, cantidad de caracteres)
La expresin 6*(x-1) obtiene la cantidad de letras que preceden al nombre buscado: seis
letras por cada nmero anterior al dato. Sumndole una unidad, resulta la posicin de inicio del
nombre buscado. Para que los nombres comiencen a intervalos regulares. Por eso se intercalan
los espacios.
Finalmente la expresin Trim() permite eliminar los espacios en blanco que podran sobrar a la
derecha del nombre encontrado.
Dos dgitos

Para armar una funcin similar a la anterior, pero que admita nmeros de dos dgitos, habra
que descomponer el nmero dado en unidades y decenas y emplear la funcin Mid para
extraer la expresin en letras de cada parte.

Por ejemplo, para el nmero 69, la funcin debera:


Separar el nmero en 6 y 9.
Encontrar los nombres de cada parte: la palabra sesenta y la palabra nueve.
Enganchar convenientemente las dos palabras encontradas de modo de formar el sesenta y
nueve.
Sin embargo, una funcin as fallara en muchos casos. Por ejemplo, para el nmero 15,
devolvera la expresin diez y cinco. Para el 28, devolvera veinte y ocho.

Para tener en cuenta estos casos irregulares, convendra tratar, por un lado, los nmeros del
uno al veintinueve y, por otro lado, los nmeros del treinta al noventa y nueve. Una funcin as
se muestra a continuacin.
El cdigo de la funcin NOMBRE(X) que comprende dos dgitos

73
FUNCIONES EN VBA

Las instrucciones en Visual Basic pueden tambin usarse para crear funciones. Estas funciones
son parecidas a las macros, pero se usan en forma distinta.

Por ejemplo, se muestra una planilla con una funcin que devuelve la calificacin (en palabras)
segn la nota en nmeros.

Esta planilla usa una funcin especial llamada EVAL para obtener la calificacin en palabras,
segn la nota numrica.

La funcin EVAL() NO ES NINGUNA QUE INCLUYE EXCEL fue definida por el usuario desde el
editor de Visual Basic.
Como las macros, las funciones tienen un cdigo que indica el tipo de operacin que debe
hacer. El cdigo de la funcin EVAL aparecen en la figura anterior.

74
El cdigo de la funcin EVAL.

Para llegar a la ventana descrita debemos realizar los siguientes pasos:

Nos dirigimos al men Herramientas opcin Macro y despus Editor Visual Basic
Aparecer una nueva ventana en donde debemos dirigirnos al men Insertar y despus se
elige la opcin Mdulo.
Se escribe el siguiente cdigo.

Function EVAL(x)

If x < 4 Then EVAL = "Reprobado(a)"


If x = 4 Or x = 5 Then EVAL = "Aprobado(a)"
If x = 6 Or x = 7 Then EVAL = "Bueno(a)"
If x = 8 Or x = 9 Then EVAL = "Distinguido(a)"
If x = 10 Then EVAL = "Sobresaliente"

End Function

Explicacin de este cdigo

El cdigo comienza con la instruccin Function.


El nombre elegido por la funcin debe aparecer, en el cdigo, a la izquierda de un signo
igual.

El cdigo termina con la instruccin End Function.

Adems, la funcin usa varias instrucciones If para saber el rango en que se encuentra la nota.

El valor que devuelve la funcin al usarla en una planilla es el que se le asigna en el cdigo al
nombre de la funcin. En este ejemplo, una palabra que depende de la nota en nmero.
Tal como se ve en la planilla de la Figura anterior. Las funciones definidas en Visual Basic se
usan como cualquier otra funcin de Excel.

75

También podría gustarte