Anda di halaman 1dari 6

Macros y Programacin

con VBA Curso de Microsoft Excel Nivel Avanzado

SEGUNDA PRACTICA

Crear y guardar macros


OBJETIVOS Ejecutar y asignar macros a objetos
Crear fichas personalizadas para macros.
Aplicar diversas macros

QUE ES UNA MACRO


Una MACRO es una serie de pasos o de comandos que se almacenan y se utilizan para automatizar una tarea
repetitiva.
FORMAS PARA CREAR MACROS Existen dos formas:
A travs de la GRABADORA DE MACROS
A travs del editor de Visual Basic para Aplicaciones (VBA)
Grabadora de macros:
Almacena en un mdulo la informacin sobre cada paso dado cuando se ejecuta una serie de comandos. Los
errores y/o correcciones de las macros tambin se graban hasta detener la grabacin.
Editor Visual Basic para Aplicaciones (VBA = Visual Basic Aplications).
VBA es un lenguaje de programacin y que a travs del Editor VBA de Excel, permite escribir cdigo y realizar
programas. Estos cdigos generalmente empiezan con la palabras SUB y terminan con END SUB.
Los Mdulos
Las macros se guardan en un contenedor llamado Mdulos, que se genera automticamente al grabar una macro
por primera vez. Si se va a escribir cdigo VBA de la macro o procedimiento en la ventana del editor, debe
insertar un mdulo. El libro con el mdulo generado se debe guardar en un archivo con la extensin: xlsm.
ACTIVANDO LA FICHA PROGRAMADOR
Antes de crear una macro se debe activar la ficha programador o
desarrollador, que por defecto Excel no lo tiene activado.
1. Ficha Archivo, Opciones, Personalizar cinta de opciones, activar la
casilla Programador (Desarrollador en Excel 2013 y 2016) y Aceptar.
La ficha Programador se habr agregado a la cinta de opciones.

CONFIGURANDO LA SEGURIDAD DE MACROS


Por defecto al iniciar un libro de Excel, las macros estn deshabilitadas, y
cuando intentamos abrir un libro que contiene macros, se nos pregunta si deseamos habilitar las macros o no.
Esta seguridad se debe a que existen macro virus maliciosos que se transmiten a travs de macros.
Si est seguro de que sus macros no contienen virus y desea evitar la molestosa pregunta, realice lo siguiente:
1. Clic en ficha Programador o Desarrollador, grupo Cdigo, clic en Seguridad de macros
2. En el panel izquierdo, clic en
Configuracin de macros y
en el panel derecho active
Habilitar todas las macros.
Aceptar.
REFERENCIAS DE CELDAS EN MACROS
En Excel existen dos formas generales de referencias de macros: relativas y absolutas.
Referencias absolutas. Las macros se graban por defecto con este tipo de referencias, es decir las
celdas o frmulas no varan su posicin dentro de las hojas.
Referencias relativas. Las celdas y/o frmulas irn cambiando relativamente de posicin. De la ficha
programador o desarrollador y del grupo cdigo, debe pulsar antes el botn Usar referencias
relativas y luego recin Grabar macro.

Instituto de Informtica y Telecomunicaciones Pg. ~ 1 ~ Lic. Manuel Mendoza M.


Telf. 52 - 583000
Macros y Programacin
con VBA Curso de Microsoft Excel Nivel Avanzado

AMBITO DE LAS MACROS


Al grabar una macro, se tiene dos mbitos a seleccionar:
Macros de mbito general y
Macros de mbito local

Macros de mbito general. Son aquellos que se trabajan con el mbito Libro de Macro personal. Estas macros
se guardar en un libro especial llamado Personal.xlsb. Al crear por primera vez una macro de ste mbito, se
crear dicho archivo automticamente en una carpeta oculta llamada XLStart. Estas macros estarn siempre
disponibles cada vez que inicia Excel para cualquier libro.

Macros de mbito local. Son aquellas que estarn disponibles slo para un libro o plantilla en particular. Por
ejemplo si tiene un libro con una macro para borrar datos de una factura, slo funcionar para ese libro.

EJEMPLO DEMOSTRATIVO 1 (macro de mbito local)


Se desea crear una macro con el nombre de: FormatoTitulo y su mtodo abreviado sea CTRL+MAYUS+F, para
un texto escrito(a manera de Titulo) y tenga el formato del ttulo segn las siguientes especificaciones:
1. Tipo de fuente: Garamond, tamao:16 y Negrita
2. Color de fuente: azul y color de relleno: amarillo.
3. Dar al contorno del texto, formato de doble lnea y sea de color rojo

SOLUCIN:
1. CREACION DE LA MACRO
a) Clic en la ficha Programador o Desarrollador.
b) En el grupo Cdigo, hacer clic en el botn Grabar macro.
c) Aparece la ventana: Grabar macro.
d) En nombre de la macro, escriba: FormatoTtulo.
e) En mtodo Abreviado, clic en la casilla y mantener pulsado MAYUS + F, en Este libro y Aceptar.

f) A partir de este momento se estar grabando toda accin o comandos de Excel. En este caso aplicar
las especificaciones solicitadas.
g) Terminado de aplicar el formato solicitado, en la barra de estado clic en el botn Detener.

2. GUARDAR UNA MACRO


Tanto en Excel 2007, 2010, 2013 y 2016, las macros no se pueden guardar en libros comunes de Excel (.xlsx).
Por lo que se deber guardar en los llamados Libro habilitado para macros(.xlsm). Por tanto para guardar
la macro anteriormente creada, siga los siguientes pasos:
a) Clic en la ficha Archivo
Esta opcin en
b) Clic en Guardar y enviar (Guardar como) Excel 2010
c) Clic en Tipo de archivo Tipo.
d) Clic en Libro habilitado para
macros(*.xlsm) y clic en el botn de
abajo guardar. Elija o abra la carpeta a
guardar el archivo. Esta opcin en Excel
e) Poner un nombre, por ejemplo: Macro 1 2013 o 2016
Formato personalizado.xlsm y Guardar.

Instituto de Informtica y Telecomunicaciones Pg. ~ 2 ~ Lic. Manuel Mendoza M.


Telf. 52 - 583000
Macros y Programacin
con VBA Curso de Microsoft Excel Nivel Avanzado

3. EJECUCION DE UNA MACRO


Antes de ejecutar la macro creada, borre todo formato de la celda. Luego debe escribir un texto en
cualquier celda y ejecutar la macro creada anteriormente de una de las siguientes formas:
a) Ficha Programador o desarrollador, grupo Cdigo, clic en el botn Macros, y en la ventana Macro,
seleccione la macro creada y Ejecutar.
b) Pulse la combinacin de teclas ALT+F8, seleccione la macro y Ejecutar.
c) O empleando el mtodo abreviado de teclas de la macro: CTRL+MAYUS+F.

4. VIENDO EL CODIGO DE LA MACRO


Las macros grabadas son cdigos VBA que Excel genera
automticamente.
a) Pulsa ALT + F8
b) Clic en Modificar, observe el cdigo generado
c) Para retornar a Excel pulse ALT+F11 o cierre la ventana.

5. ASIGNACION DE MACROS A OBJETOS


Las macros se pueden asignar o asociar a diferentes objetos como:
Autoformas o imgenes
A controles de formularios
A la barra de acceso rpido
A una ficha de la cinta de opciones
5.1 Asignacin de macro a una Forma.
* En la Hoja2 proceda a insertar la forma Flecha izquierda
* Seleccione la forma con el botn derecho del mouse y clic en Asignar macro
* En la ventana Asignar macro, elija la macro FormatoTtulo y Aceptar
Ejecucin de la macro
- Escriba un texto en cualquier celda y clic en la Forma.
5.2 Asignacin de macro a un control de formulario
* En la Hoja3, proceda a realizar lo siguiente: De la ficha Programador o Desarrollador y del grupo
controles, despliegue el botn Insertar y clic en el control Botn(Control de formulario).
* Al trazar el dibujo del control aparece la ventana Asignar macro
* Elija la macro: FormatoTitulo y Aceptar
Ejecucin de la macro
- Clic en una celda y escriba un texto y clic en control
Botn. Vea el efecto.
5.3 Asociar macros a comandos de la barra de acceso rpido
a) Clic en la ficha Archivo y elija Opciones.
b) Elija: Barra de herramientas de acceso rpido.
c) En el cuadro de Comando disponibles, elija Macros
d) Se observa varias macros, elija la macro creada, en este caso, seleccione:
FormatoTitulo y Agregar.
e) En el panel derecho, seleccione FormatoTitulo y clic en Modificar. Cambie o
elija el icono de la carita feliz y Aceptar. Aceptar.
Ejecucin de la macro
- Escriba un texto en una celda y aplique la macro
desde la barra de acceso rpido haciendo clic en
el icono de la carita feliz.
5.4 Asignar macro a una nueva ficha en la cinta de opciones
Crear ficha:
a) Ficha Archivo, Opciones, Personalizar cinta de opciones, clic en
Nueva ficha(personalizada). O Nueva pestaa.
b) Seleccione la nueva ficha y clic en Cambiar nombre,

Instituto de Informtica y Telecomunicaciones Pg. ~ 3 ~ Lic. Manuel Mendoza M.


Telf. 52 - 583000
Macros y Programacin
con VBA Curso de Microsoft Excel Nivel Avanzado

Ponga un nombre por ejemplo: Mi Macro y Aceptar.

Crear grupo:
a) Seleccione Nuevo grupo(Personalizada) y clic en Cambiar
nombre
b) En Nombre para mostrar, poner el nombre de: Dar formatos.
c) Aceptar.

Agregar comando:
a) Seleccionar Dar formatos.
b) En comandos disponibles, seleccione Macros, elija
FormatoTtulo y Agregar y Aceptar. Debe quedar
similar a la imagen de la derecha.
Ejecucin de la macro
- Escriba un texto en una celda y ejecute la macro desde la ficha Mi Macro, grupo Dar
formatos, clic en FormatoTtulo.

EJEMPLO DEMOSTRATIVO 2. Macros absolutas versus macros relativas (macros de mbito local)

MACRO CON REFERENCIAS ABSOLUTAS:


En un nuevo libro, crear una macro con que realice la generacin de los 6
primeros meses en el rango B1:G1. Poner a la macro el nombre de: Meses1.
Guardar el libro con nombre: Macros 2 Referencias.xlsm
1. Ficha Programador o Desarrollador, grupo Cdigo, Grabar macro.
2. Active la celda B1 y escriba Ene en dicha celda. Rellene hasta C1(Feb)
3. Contine escribiendo los dems meses hasta completar los meses en
B1:G1.
4. Clic en B1 para activar dicha celda.
5. Detener grabacin y ver el cdigo generado.

Ejecucin de la macro:
a) Seleccione la celda B1 y aplique la macro( funciona normalmente)
b) Seleccione la celda D3 y aplique la macro(se ejecutar la escritura
de los meses siempre en el rango B1:G1)

MACRO CON REFERENCIAS RELATIVAS:


Realice lo mismo que lo anterior. Ponga a la macro el nombre de
Meses2. Borre antes los datos de B1:G1
1. Active la celda B1. (Este paso es muy importante)
2. Ficha Programador, grupo Cdigo, Grabar macro. Poner
nombre: Meses2. Aceptar.
3. Clic en el botn Usar referencias relativas para cambiar el modo
de grabacin a relativo.
4. Ingrese los nombres de los seis primeros meses en B1:G1, como
el ejemplo anterior.
5. Seleccione la celda B1. Detener grabacin.
6. Ver el cdigo generado, es muy diferente al anterior.

Ejecucin de la macro:
a) En B1 aplique la macro. En cualquier celda aplique la macro.

Instituto de Informtica y Telecomunicaciones Pg. ~ 4 ~ Lic. Manuel Mendoza M.


Telf. 52 - 583000
Macros y Programacin
con VBA Curso de Microsoft Excel Nivel Avanzado

ACTIVIDADES PRCTICAS

MACROS DE AMBITO LOCAL


ACTIVIDAD 1
Recuerde que las macros de mbitos locales tienen efecto en un libro especfico o en el libro en el que est
trabajando en estos momentos.

Macro sencilla para borrar datos.


Del libro Pedidos.xlsx y de la hoja llamada Entrega, las celdas C7,D7, C8 y D8 son ingresadas o modificadas por
teclado, por lo que se desea crear una macro que borre dichas celdas, cada vez que se modifiquen dichos datos.

GRABANDO LA MACRO
1. Ficha Programador, grupo Cdigo, Grabar macro.Escriba el
nombre de la macro: BorrarDatos.
2. En Guardar macro en, elija: Este libro. Aceptar.
3. Desde este momento se graba toda accin:
3.1. Seleccione el rango C7:D8 y pulse la tecla Supr.
3.2. Clic en la celda C7. Clic en Detener grabacin.
4. Guarde el libro con el nombre de: Pedidos.xlsm. Cierre los libros.

EJECUTANDO LA MACRO
1. Abra el libro: Pedidos.xlsm.
2. En la hoja Entrega, escriba los siguientes
datos
3. Pulse ALT + F8 y ejecute la macro creada.
Qu sucedi y cul es la celda
activa?..............................
4. Escriba nuevos datos como:
5. Ejecute nuevamente la macro BorrarDatos. Qu sucedi?..................................... Guarde los cambios.

ACTIVIDAD 2
Macro sencilla de mbito local para copiar.
Crear una macro que copia la hoja Orden1 (mover al final) y que de la hoja copiada, borre las celdas F3 y C5 y
activar la F3.

GRABANDO LA MACRO
1. Ficha Programador, grupo Cdigo, Grabar macro.
2. Nombre de la macro: CopiarHoja.
3. En Guardar macro en, elija: Este libro. Aceptar.
4. Desde este momento se graba toda accin:
4.1. Sobre la hoja Orden1, clic con el botn derecho del mouse y elija Mover o copiar...
4.2. Active la casilla Crear una copia y elija Mover al final.
4.3. En la hoja copiada Orden1(2), borre el contenido de las celdas F3 y C5. Active la celda F3.
4.4. Detener grabacin.
5. Guarde el libro con el mismo nombre, pero con extensin de macro: Pedidos.xlsm.

EJECUTANDO LA MACRO
1. Pulse ALT + F8 y ejecute la macro: CopiarHoja. Se copi la hoja? .. Con qu nombre?....................
2. Ejecute la macro unas tres veces ms. Observe el nombre de las hojas copiadas. Guarde los cambios.

Instituto de Informtica y Telecomunicaciones Pg. ~ 5 ~ Lic. Manuel Mendoza M.


Telf. 52 - 583000
Macros y Programacin
con VBA Curso de Microsoft Excel Nivel Avanzado

ACTIVIDAD 3

ASIGNAR MACRO A OBJETO IMAGEN


1. Abra el libro: Pedidos.xlsm y vaya a la hoja Entrega.
2. Seleccione la imagen y botn derecho del mouse y elija Asignar
macro.
3. Seleccione la macro BorrarDatos y Aceptar.

PROBANDO LA MACRO DESDE LA IMAGEN


1. Pulse la imagen
2. Escriba los siguientes datos:

3. Clic nuevamente en la imagen. Qu sucede con los datos?...........

ACTIVIDAD 4

ASIGNAR MACRO A LA BARRA DE INICIO RAPIDO


1. La macro CopiarHoja del libro Pedidos.xlsm debe estar disponible para hacer un simple clic en la barra de
Inicio rpido.
1.1. Ficha Archivo, Opciones, Barra de herramientas de acceso rpido.
1.2. Despliegue el cuadro Comandos disponibles y elija: Macros.
1.3. Despliegue el cuadro Personalizar barra de herramientas de acceso rpido y elija para:
Pedidos.xlsm
1.4. Seleccione la macro CopiarHoja y clic en Agregar.
1.5. Seleccione el comando agregado y modificar; cambie de nombre por: Copia Hoja y elija un icono.
1.6. Aceptar.

2. Despliegue la Barra de herramientas de acceso rpido y clic en el icono Copia Hoja. Se ejecut la macro?

Instituto de Informtica y Telecomunicaciones Pg. ~ 6 ~ Lic. Manuel Mendoza M.


Telf. 52 - 583000

Anda mungkin juga menyukai