Вы находитесь на странице: 1из 8

TALLER EXCEL AVANZADO

por Gonzalo Rojas


INTRODUCCION
Como Iorma de utilizar mas eIicazmente las herramientas de automatizacion de tareas de Excel, en este curso se introducira
al alumno en conceptos tales como macros, Iormularios y Iiltros de datos. Asimismo se daran 'recetas de ayuda para la
realizacion de ejercicios las cuales serviran como practica de lo aprendido. Anexo a esta clase se implementara un sitio
web en la cual sera publicado su contenido y material complementario.
CONTENIDOS
Macros: deIinicion, Iuncionamiento, macros incorporadas de Excel, construccion.
Filtros: repaso de bases de datos, dividir/inmovilizar paneles, Iiltros condicionales.
Formularios: deIinicion, creacion, relacion con las macros, Iunciones basicas, etiquetas.
PRIMERA PARTE : MACROS
Aunque son mayormente conocidos por ser virus, las macros son rutinas o programas que son interpretados por un
programa. Asi puedo yo construir una macro en Word para que me coloque los numeros de pagina, o recrear un juego
como Tetris en Excel. No solamente los productos MicrosoIt permiten el trabajo con rutinas, hay editores web que realizan
el chequeo de rutas de archivos y veriIican duplicidad de inIormacion. Las macros en otros programas son conocidas
mayormente como scripts.
Para utilizar estas rutinas es posible cargarlas por el menu o
simplemente presionando un boton. Por ejemplo en el Men
de Herramientas de Excel esta la opcion Personalizar, en ese
panel podemos arrastrar un icono relacionado con alguna macro
creada a la barra principal de botones.
Ahora que ya tenemos nuestro boton de accion, podemos crear una
rutina simples: que cambie de color la celda seleccionada. Al
seleccionar la opcion Grabar macro aparece una ventana Ilotante
con un cuadrado azul. Este cuadrado representa
un boton Stop que muchas veces vimos en una
grabadora de mano y sirve para detener la
grabacion de la macro pues cada click que
hacemos en los menu es una Iuncion
implementada dentro del lenguaje de
programacion macro.
Bien los pasos en orden son:
1.- Menu Herramientas -- Macro -- Grabar Nueva
Macro.
2.- Aceptar
3.- Seleccionar una celda
4.- Cambiar el color de Iondo con el balde
5.- Seleccionar la celda inIerior
6.- Presionar Detener grabacion (Stop)
Asi ya obtenemos nuestra primera macro, pero donde
queda almacenada?
Las macros son almacenadas Iuera de la hoja en
si, pero si graba el archivo y lo lleva a otra parte,
seguira conteniendo macros. Es importante
mencionar que Excel pide conIirmacion para
poder cargar la macro. Para ver o modiIicar la
macro contenida en la planilla : Herramientas
Macro -- Macros
Ahi se puede Ejecutar, Eliminar, y ModiIicar las
macros contenidas en el documento. Pero como
interesa saber 'como Iunciona, presionemos
ModiIicar.
Aqui se presenta en Iorma inmediata una ventana que
es muy probable no haya visto nunca. Es un editor de
rutinas de Visual Basic. Dado que casi todo el paquete
MicrosoIt OIIice esta creado en ese lenguaje, lo natu-
ral es que tenga incorporado un interprete de comandos
del mismo tipo.
Ahora analizemos el codigo generado:
Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 21-03-02
'
'
Range("E5").Select
With Selection.Interior
.ColorIndex = 41
.Pattern = xlSolid
End With
End Sub
A primera vista son simples comandos en ingles, donde se
discrimina el nombre de la celda seleccionada E5.
Aqui tenemos cosas nuevas, estos comandos realizan CON
la seleccion un cambio de color (ColorIndex) y patron de
relleno (Pattern)
Ahora debemos asignar esta macro a nuestro boton
sonriente. Nuevamente en Herramientas - Personalizar, y
con el boton derecho sobre el icono se despliega un nuevo
menu. Ahi en Asignar Macro.. se obtiene una ventana
parecida a la que teniamos para modiIicar macros.
FILTROS
Dentro de las macros una herramienta incorporada de Excel, son los Iiltros de datos. Un Iiltro es tal como lo dice el
nombre un programa que hace una seleccin de una familia de datos con parmetros definibles. Supongamos que
tengo un listado de alumnos. Puedo contar cuantos alunmos reprobaron un curso para realizar estadisticas. Cuando tengo
20 a 30 alumnos esto es posible realizarlo a simple
vista. Pero cuando se trabaja sobre 50 registros, ya
se escapa los margenes del programa y es probable
un conteo erroneo.
Veamos un ejemplo simples de utilizacion
del Iiltro. Seleccionando la Iila de titulos
de campo vamos al menu Datos - Filtro -
Autofiltro.
Habra un ligero cambio en el listado en pantalla. Ahora donde teniamos el titulo de la columna aparecen unas listas
desplegables. Presionando cualquiera de ellas, puede uno elegir el parametro del Iiltro. Por ejemplo: Todos los que comienzan
con la letra A, o si se tienen notas,
los que tienen promedio superior a
4. Es posible elegir mas de un
criterio.
El resultado de la busqueda aparece en el extremo inIerior.
Dado que su implementacion esta
en el mismo lenguaje de las mac-
ros es posible utilizarlo dentro de
una macro. Como ejercicio trate de
grabar una macro que realice un
Iiltro de datos segun notas con el
archivo notas.xls. Y vea el codigo
generado.
Es probable que el resultado sea
algo parecido a esto.
Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 21-03-02
'
'
Selection.AutoFilter Field:=1, Criteria1:="=b*", Operator:=xlAnd
End Sub
Como puede suponer este mismo codigo puede utilizarse en el boton sonriente que creamos anteriormente. Para analizar
cada sentencia y su utilizacion, la ayuda de Visual Basic es bastante tecnica, pero sirve de orientacion. Se utiliza seleccionando
la palabra y presionando el boton F1 del teclado.
FORMULARIOS
Aparte de realizar simples rutinas, tambien es posible utilizar las macros dentro de Iormularios. Los Iormularios son
interfaces para el usuario con el fin de simplificar el ingreso de informacin. Permite automatizar un proceso como el
ingreso de notas, la busqueda de titulos de libros en una biblioteca, por nombrar algunas alternativas.Utilicemos para un
ejemplo practico la misma lista de alumnos. No se olvide quitar el filtro automtico antes de realizar cualquier cambio.
Primero que nada debemos crear el
Iormulario. En el nombre de la hoja, en el
rincon inIerior, presionamos el boton
derecho del mouse e insertamos un Dilogo
de Excel.
Lo primero que se nos presenta es una nueva barra de herramientas.
Aqui podemos ver
distintos paneles de
entrada que podemos
utilizar para crear
nuestro Iormulario.
Cuadros de texto,
botones, lista de
seleccion,checkbox y
listas desplegables son
algunos de los itenes.
Y lo otro destacable es que desparece la hoja en que estamos trabajando y se remplaza por un Iondo gris. Aqui se realiza
el diseo de Iormularios. Para hacerlo primero seleccione el tipo de panel de entrada y luego dibujelo en el sector gris.
Pruebe con boton, cuadro de edicion y cuadro combinado.
Para verlo en Iuncionamiento presione el boton Efecutar Cuadro
de Dialogo. Aqui esperara hasta que presione Aceptar. Como
puede suponer no realiza ningun cambio, ni accion sobre la hoja.
Pruebe mas controles y acostumbrese a trabajar diseando en otro
hoja un Iormulario de ingreso de alumnos por ejemplo.
Ahora para hacerlo mas inteligente este cuadro relacionemos por
ejemplo un cuadro combinado con un rango de celdas. Asi
podemos elegir el alumno y consultar su rut.
En la edicion del cuadro de dialogo, seleccione con
el boton derecho del mouse el cuadro combinado y
elija formato de control.
Aparece este cuadro donde relacionaremos el contenido de la lista
con una celda. En Rango de Entrada son los itenes de seleccion.
Y en Vincular con Celda es adonde queda almacenado el resultado
de la seleccion. Presione el cuadro rojo al lado derecho de Rando
de entrada y marque en la Hoja1 todos los nombres de los alumnos.
Luego retorne al panel anterior
presionando el cuadrito rojo
nuevamente. Hacemos lo
mismo con Vincular celda pero
seleccionamos aqui la celda A3
en la Hoja2. Finalice con
Aceptar.
Probemos nuestro cuadro de
dialogo nuevamente.
Ahora el sistema empieza a ganar consistencia y utilidad. Pero
todavia no entrega ningun resultado. Seleccione un nombre en el
cuadro lateral y presione Aceptar. Regrese a la Hoja2 y va a ver
en la celda A3 un numero que corresponde al indice de la seleccion
que hizo en el cuadro.
Aqui es necesario construir una macro, y como ya sabe hacerlo
veamos un codigo simples. Lo haremos asignando el resultado de
recien a un cuadro de edicion.
En el rincon superior
izquierdo existe un cuadro que nos muestra el nombre del objeto que estamos
trabajando. Seleccione el cuadro combinado y aparecera Lista Desplegable 1.
Al seleccionar un cuadro de edicion, aparecera Cuadro de Edicin 3.
Seleccionando el cuadro con boton derecho y asignando macro se
abre el editor de codigos. Ingrese el siguiente codigo con los
correspondientes valores de cuadros de edicion y cuadro combinado..
Sub Listadesplegable4_AlCambiar()
ActiveSheet.Shapes("Edit Box 5").Select
Selection.Characters.Text = Range("Hoja2!A3").Value
End Sub
Y pruebe el cuadro de dialogo, ahora cuando seleccione un nombre mostrara el valor que aparecia en la celda A3 de la
Hoja2. Finalmente para determinar la Iila con los datos del alumno, incluimos la Iuncion Indice en la celda B3 tomando
como parametros de Iuncion el rango con los datos y la celda A3.
=INDICE(Hoja1!C2:C21;A3)
Y ahora en el codigo que creamos mas arriba remplazamos Range("Hoja2!A3") por Range("Hoja2!B3").
De ejercicios para seguir aprendiendo o para conseguir ejemplos. Lea la ayuda del Solver que esta incluido en Excel. Esa
Iuncion esta construida sobre macros y Iunciones matematicas. Se adjuntan 2 archivos con macros. Una es un indice de
soluciones de un puzzle en que se pinta de color el cuadro y se ingresa a un listado ordenandose automaticamente. La otra
es un ejemplo de acta de notas por busqueda, para realizar copias de certiIicados.

Вам также может понравиться