You are on page 1of 9

EC215 - Computacin II

Fundamentos de MS Excel

Laboratorio 5. Macros en MS Excel


Uso de Visual Basic
Las macros de Excel son herramientas muy tiles para realizar algunas operaciones
de uso constante. Se trata de pequeos programas ejecutables desde la Hoja de
Clculo, y que realiza funciones repetitivas o comunes en la normal ejecucin de la
actividad con opciones de MS Excel.

Qu es una macro?

Una macro es un conjunto de instrucciones que sirven para automatizar procesos.


Refirindonos a MS Excel, supongamos que realizamos frecuentemente la accin de
seleccionar un rango para aplicarle negrita, cambio de fuente y centrado. En lugar
de hacer estas acciones manualmente, se puede elaborar una macro e invocarla
para que ejecute los tres procesos automticamente.
A la hora de trabajar con macros en MS Excel, deben tenerse claros ciertos
conceptos de lo que se llama programacin orientada a objetos (OOP).

Programacin Orientada a Objetos o Programacin Basada en Objetos.

Hay una sutil diferencia entre las definiciones del ttulo. Programacin orientada a
Objetos, significa que el programador trabaja con objetos fabricados por l
mismo, es decir, el programador es quien implementa las clases para luego crear
objetos a partir de ellas. Lo que haremos nosotros, por el momento, ser utilizar
objetos ya definidos por la aplicacin Excel (WorkSheets, Range,...) sin
implementar ninguno de nuevo, por lo que en nuestro caso es ms correcto hablar
de programacin basada en objetos. Observe que esta es una de las grandes
ventajas de la POO, utilizar objetos definidos por alguien sin tener que conocer
nada sobre su implementacin, slo debemos conocer sus propiedades y mtodos y
utilizarlos de forma correcta.
Editor de Visual Basic.
El editor de Visual Basic es la aplicacin que utilizaremos para construir las macros
que interactuaran junto con los libros de trabajo. Luego prepararemos un archivo
en el que escribiremos las primeras instrucciones en Visual Basic.
Quien haya descargado e instalado Excel 2010 descubrir, como en Excel 2007,
que por defecto la pestaa de Programador no aparece en la cinta. Esto se debe a
que por defecto las macros no estn habilitadas en Excel 2010. Tampoco tenemos
acceso a los controles (formulario y ActiveX).
Para poder usar las macros y los controles en Excel 2010 tenemos que seguir los
siguientes pasos:
Haga [Click] en el cono
y seleccione
una figura similar a la siguiente.

. En pantalla aparece

Gua de Laboratorios EC215 - ASC_UNI Pag. 1

EC215 - Computacin II
Fundamentos de MS Excel

Debe activar
esta opcin

Active la opcin Mostrar ficha Programador y haga [Click] en [Aceptar]. A partir


de este momento, aparece la opcin Programador en la barra de Men principal de
MS Excel.
Ejemplo 1. Clculo de la media para valores comprendidos en el rango A1:A30
Ingrese (o genere) valores en el rango A1:a30
Haga [Click] en la opcin Programador.
Haga [Click] en cono [Grabar macro]. Aparece una ventana similar a:

Haga los cambios de acuerdo a la siguiente figura:

Gua de Laboratorios EC215 - ASC_UNI Pag. 2

EC215 - Computacin II
Fundamentos de MS Excel

Haga [Click] en botn [Aceptar].


Ubquese en alguna celda vaca y digite Promedio:
Pase a la celda de la derecha y digite =promedio(a1:a30). Presione [Intro]
Haga [Click] en cono
La macro ha sido creada y puede utilizarla. Para ello solo debe presionar la clave
[Ctrl]+[m]
Ejercicio. Crear una macro para mostrar las principales estadsticas
DESCRIPTIVAS en celdas siguientes.
A esta macro la nombramos como Descriptivas y la clave de activacin ser
[Ctrl]+[w]
Ejemplo 2. Macro para cambiar formato a un grupo de celdas.
a) [Click] en opcin [Programador]
b) [Click] en opcin [Grabar macro ]
c) Asigne nombre Formato y clave [Ctrl]+[f]
d) Seleccionar celdas para aplicar formato.
e) Ir a opcin [Inicio] y modificar Tipo de letra, Tamao, Color, Fondo,
Posicin.
f) Detener grabacin. [Click] en cono
de la parte inferior de la hoja.
g) Ejecute la macro. Para ello, seleccione un rango de celdas y presione
[Ctrl]+[f]
En caso no se realice lo que desea modifique la macro. Haga [Click] en cono
[Macros], seleccione la macro correspondiente y haga [Click] en botn [Modificar].
En este caso se tiene la ventana de cdigos:

Gua de Laboratorios EC215 - ASC_UNI Pag. 3

EC215 - Computacin II
Fundamentos de MS Excel

Coloque una apstrofe () al inicio de sentencia


ActiveCell.Offset(4, 0).Range(A1:A17).Select
Es decir, debe aparecer como
ActiveCell.Offset(4, 0).Range(A1:A17).Select
En Visual Basic se usan apstrofes para colocar un comentario al programa. Un
comentario ayuda al programador pero no son tomadas en cuenta por el compilador.
Ejemplo 3. Filtro avanzado con macros.
Vamos a utilizar el archivo Adidas.xlsx
Al rango A1:G475 asigne el nombre Base.
Cargue el archivo y haga una copia de los campos Ciudad, Edad, SalarioActual,
Categoria, NivelEd y Raza en otra hoja.
Agregue tres columnas: Ciudad, Edad, Categoria.
La otra hoja debe ser similar a la siguiente.

Ahora, siga los siguientes pasos:


1) [Grabar macro]

Gua de Laboratorios EC215 - ASC_UNI Pag. 4

EC215 - Computacin II
Fundamentos de MS Excel

2) [Click] en [Aceptar]
3) Ir a opcin Datos.
4) [Click] en cono

. En la ventana de dilogo que aparece complete

los cuadros de acuerdo a la figura siguiente.

5) Haga [Click] en [Aceptar].


6) Haga [Click] en cono

Utilice la macro para encontrar aquellos empleados mayores de 25, categora


Auxiliar provenientes de la ciudad de Sevilla.
De forma similar puede crear macros para cambiar el ancho de columna,
ordenacin, etc.

Gua de Laboratorios EC215 - ASC_UNI Pag. 5

EC215 - Computacin II
Fundamentos de MS Excel

Uso del editor de VISUAL BASIC


Ahora, vamos a utilizar el editor de Visual Basic para crear algunas macros para
ser activados desde un control tipo botn de Comando.
Abrimos un nuevo libro de MS Excel.
Haga [Click] en opcin Programador y seleccione cono

. Aparece la ventana:

Seleccione el control
(CommandButton) del grupo de Controles ActiveX y
ubquelo en la hoja de clculo.

Seleccione el control y presione el botn secundario del mouse. Aparece la ventana:

Elija la opcin Propiedades. Aparece una ventana similar a:

Gua de Laboratorios EC215 - ASC_UNI Pag. 6

EC215 - Computacin II
Fundamentos de MS Excel

Haga los cambios en propiedades Name y Caption de acuerdo a la siguiente figura:

Ahora digitamos las sentencias para esta macro.

Gua de Laboratorios EC215 - ASC_UNI Pag. 7

EC215 - Computacin II
Fundamentos de MS Excel
Haga doble [Click] en el control Saludos. Aparece el Editor de cdigos de Visual
Basic:

Digite la siguiente lnea de sentencia


Hoja1.cells(1,1)=Saludos
Cierre el editor y haga [Click] en cono
Retorne a la hoja Excel.
Haga [Click] en botn [Saludos] y observe los resultados.
Ahora, agregamos algunas sentencias a esta misma macro.
Doble [Click] en el botn [Saludos]
Agregamos sentencias de tal forma que tengamos el siguiente cdigo de
sentencias:

Ejecute y observe lo que ocurre.


Ahora vamos a agregar un nuevo control CommandButton al que vamos a nombrar
cmdDiagonal. La codificacin se muestra a continuacin.

Gua de Laboratorios EC215 - ASC_UNI Pag. 8

EC215 - Computacin II
Fundamentos de MS Excel

Ejectelo, observe lo que ocurre y haga sus comentarios al respecto.

Gua de Laboratorios EC215 - ASC_UNI Pag. 9

You might also like