Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EXCEL
INDICE
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
3
PROTECCIN DE ARCHIVOS Y
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.
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.
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.
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.
7
Activar la proteccin.
Hacemos un clic en cualquier celda de la tabla.
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.
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
9
Limitar la proteccin a ciertas celdas de la planilla.
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.
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.
13
El rango de la lista corresponde a toda la base de datos incluyendo los ttulos.
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.
15
Presionamos el botn Aceptar.
Obtendremos la sub-base de datos graficada.
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.
16
Nos dirigimos al men Datos opcin Filtro subopcin Filtro avanzado.
Aparece otra vez la ventana donde especificamos el filtro.
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.
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:
Un caso sencillo
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.
20
Hacemos un clic en el botn Siguiente.
Aparecer la siguiente ventana.
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.
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.
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.
23
La tabla dinmica debe verse tal como se ilustra.
Cambiando la operacin
24
La tabla dinmica anterior calculaba la suma de los montos. Pero, S quisiramos conocer la
cantidad de ventas realizadas?
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
En el tercer y ltimo paso solamente tenemos que decirle al Asistente dnde quereos
poner el grfico. Indicamos Hoja de clculo nueva.
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.
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.
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.
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:
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.
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.
33
En vez de ello vamos a usar la funcin condicional SI tal como aparece en la pgina siguiente.
En donde:
La funcin anterior que aparece en la celda F5, debe extenderse al resto de la lista usando el
puntero de estirar.
La funcin condicional se llama SI y tiene tres valores o argumentos entre los parntesis.
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.
35
La funcin de bsqueda en tablas
En donde:
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.
37
Otro ejemplo
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.
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.
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 3 5
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
IVA 19%
Celda a Definir
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%.
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
La planilla siguiente es muy simple, calcula el importe de una compra a partir de unos pocos
datos.
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.
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.
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.
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.
Nos dirigimos al men Herramientas opcin Macro sub opcin Grabar nueva macro.
Donde dice Mtodo abreviado activamos la combinacin SHIFT + A. Estas dos teclas,
junto con CONTROL, servirn luego para ejecutar la macro.
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.
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
Aparecer una ventana con una lista de macros disponibles (lista que por ahora consta
solamente de la macro OcultarSueldos).
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.
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.
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.
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:
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:
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.
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
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
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:
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.
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.
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.
63
LIMITACIONES
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:
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.
0 Vaco.
1 Dato no vlido.
2 Entero.
3 Entero largo.
6 Moneda.
7 Fecha.
8 Texto.
10 Error.
11 Lgico o Booleano.
12 Variante de matriz.
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.
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
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.
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.
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.
Right: Toma la parte derecha (en ingls, right) de un texto. Por ejemplo:
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.
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.
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.
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)
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