Facultad de Ingeniería
Departamento de Ingeniería en Sistemas
Profesor: Alexander Herrera Castro
[email protected]Tabla de Contenido
Macros Objetivos
Introducción
Grabar Macro
Referencias relativas
Ejecutar una macro
Manipulación de Macros
Seguridad de macros
Tipos de Macros Macros automáticas
Macros de Excel
Macros de funciones
Macros de comandos
Macros desde Visual Basic
Ejercicios
Botones, Funciones y Botones para ejecutar macros
Códigos de una Macro Agregar un botón a una barra de herramientas
Agregar un control de la barra de herramientas Formularios
Asignar una macro existente
Códigos de una macro
Funciones útiles para automatizar tareas
Ejercicios
Macros
Objetivos
Definiciones
Automatizar tareas a través del uso de las macros.
Grabar
Ejecutar
Manipular macros.
Tipos de Macros en Excel
Botones para ejecutar macros
Controles y macros
Códigos de una macro
Funciones para automatizar tareas
Ejercicios
Introducción
Las operaciones tradicionales que se pueden realizar en Excel para Windows las podemos
automatizar, de manera que se mantenga un registro que las contenga y posteriormente hacer
referencia a ellas para la simplificación de tareas.
Excel es un programa muy potente, pero la mayoría de las personas lo maneja de una forma
muy básica, Excel cuenta con un lenguaje de programación llamado Visual Basic, y permite
hacer o resolver los problemas de forma más rápida y sencilla, este curso es de un nivel alto,
pero es fácil de aprender ya que se manejaran términos sencillos.
Una Macro son una serie de pasos que se almacenan y se pueden activar con alguna tecla
de control y una letra, un botón o manualmente, por ejemplo, si repetidamente se emplea una
serie de pasos como: Cambiar el Tamaño de Fuente o Tamaño de la letra, poner Negrita, cambiar
la Fuente o Tipo de letra y el Color de Fuente o Color de Letra, para no estar repitiendo estos
pasos se pueden almacenar en una macro y se ejecutara la macro las veces que se desee.
En resumen una macro consiste en una serie de comandos y funciones que se almacenan en
un módulo de Microsoft Visual Basic y que puede ejecutarse siempre que sea necesario realizar
la tarea. Para esto Excel para Windows cuenta con dos herramientas básicas: las macros y los
módulos. En esta sección se revisarán las macros.
1
Macros
Para explicar lo que es una macro, vamos a hacer una analogía entre un micrófono y una
cinta con la computadora y la grabadora de macros.
La grabadora de macros funciona de manera similar a una grabadora de cintas. Una graba
lo que la persona dice, otra graba lo que el usuario hace.
2
Macros
Grabar macro
Antes de grabar o escribir una macro hay que tener en cuenta los siguientes puntos:
1. Planifique los pasos y los comandos que desea que ejecute la macro
2. Si se comete algún error mientras se graba la macro, también se grabarán las correcciones
que se realicen.
3. Cada vez que se grabe una macro, ésta se almacenará en un nuevo módulo adjunto a un libro.
Al grabar una macro, Excel almacena información sobre cada paso dado cuando se ejecuta
una serie de comandos. A continuación, se ejecuta la macro para que repita los comandos. Si
se comete algún error mientras se graba la macro, también se graban las correcciones que se
realicen. Visual Basic almacena cada macro en un nuevo módulo adjunto a un libro.
Para poder habilitar las macros en Office 2007 tendremos que activar primero en la cinta de
opciones la opción Programador.
Para activarla:
Ir al Botón Office
Hacer clic en la parte inferior del menú en Opciones de Excel
Entre las opciones Más frecuentes buscar y activar la que pone Mostrar ficha del
programador en la cinta de opciones y aceptar para salir de la ventana.
3
Macros
Para poder ejecutar macros el siguiente paso es:
Hacer clic en la ficha Programador que hay en la parte derecha de la Cinta de opciones
Hacer clic en el botón Seguridad de macros
Activar la opción Habilitar todas las macros.
Recordar que esta opción no siempre ha de estar activada, porque cualquier
virus camuflado en una macro de Excel puede afectarnos.
4
Macros
Para grabar una macro seleccione del menú Programador el comando Grabar macro.
Al hacerlo aparece la siguiente caja de diálogo:
Se debe asignar un Nombre de la macro junto con una Descripción, aunque Excel para
Windows siem pre asigna estos predeterminados.
Guardar macro en son los posibles lugares donde se puede alojar la macro que se está grabando,
ya sea en Este libro, en un Nuevo libro o en el Libro de macros personal.
En la opción Método Abreviado aparece que se activara con la tecla Control(CTRL) + la letra
que usted indique, Ejemplo m
La macro se activara cuando este lista con la tecla Control + m
Al presionar Aceptar la grabación se inicia. En este momento, todas las acciones que realice
se estarán registrando por Excel para Windows. Para finalizar la grabación seleccione del
menú Programador el comando Grabar macro y después del submenú Detener grabación, o
presione el botón que aparece al estarse grabando una macro.
5
Macros
Referencias relativas
Las macros se pueden grabar ya sea con referencias absolutas o relativas. Para indicarlo,
seleccione del menú Programador el comando Grabar macro y después del seleccione Usar
referencias relativas.
A menos que esta opción esté desactivada, la Grabadora de macros usará referencias relativas,
no absolutas, para las celdas de una hoja de cálculo.
Ejecutar una macro
Para entender la forma de ejecutar una macro podemos utilizar otra vez la analogía con la
grabadora. La voz que se reproduce en la grabadora se escucha en la bocina, y de la misma
forma, la macro que se reproduce en la grabadora se ejecuta en Excel para Windows.
La ejecución de la macro se puede hacer de distintas formas. Si tiene asignado una combinación
de teclas de método abreviado con éstas se puede iniciar la ejecución.
Se puede ejecutar una macro seleccionándola de una lista en el cuadro de diálogo Macro.
Para que una macro se ejecute cada vez que haga clic en un botón determinado o presione
una combinación de teclas específica, asigne la macro a un botón de la barra de herramientas,
a un método abreviado de teclado o a un objeto gráfico de una hoja de cálculo.
Otra forma de ejecutar una macro es utilizando del menú Programador el comando Macro.
6
Macros
Al seleccionar esta opción aparece la siguiente caja de diálogo:
De las macros listadas, se selecciona la deseada y se presiona Ejecutar. También se puede
ejecutar Paso a paso para revisar los procedimientos que va realizando.
Además de estas opciones, se tienen otras más que se revisarán más adelante.
Manipulación de Macros
Tras grabar una macro, se puede ver el código de macro con el Editor de Visual Basic para
corregir errores o modificar lo que hace la macro. Por ejemplo, si la macro de ajuste de texto
también tiene que aplicar el formato de negrita al texto, se puede grabar otra macro para
aplicar el formato de negrita a una celda y, a continuación, copiar las instrucciones de esa
macro a la macro de ajuste de texto.
El Editor de Visual Basic es un programa diseñado para que los usuarios principiantes puedan
escribir y editar fácilmente código de macro, y proporciona mucha Ayuda en pantalla. No es
preciso saber cómo se programa o se utiliza el lenguaje de Visual Basic para realizar cambios
sencillos en las macros.
El Editor de Visual Basic permite modificar macros, copiarlas de un módulo a otro, copiarlas
entre diferentes libros, cambiar el nombre de los módulos que almacenan las macros o cambiar
el nombre de las macros.
Con el comando Macro del menú Programador, la misma que se vio en el tema anterior,
podemos realizar varias acciones más.
7
Macros
Modificar abre la macro o el módulo de Visual Basic para poder realizar ediciones del código
que se generó.
También podemos Eliminar la macro o el procedimiento seleccionado. Con las Opciones se
muestra la siguiente caja de diálogo:
Estas opciones son las mismas que se especificaron cuando se grabó la macro.
Seguridad de macros
Excel incluye protecciones contra virus susceptibles de ser transmitidos por macros. Si se
comparten macros con otros usuarios, se puede certificar esas macros con una firma digital
de modo que los demás usuarios pueden comprobar que proceden de una fuente fidedigna.
Al abrir un libro que contiene macros, se puede comprobar su origen antes de habilitarlas.
8
Tipos de Macros
Macros automáticas
Existen varias macros previamente creadas para Excel para Windows. Están disponibles en el
menú opciones de Excel desde el botón de office opción Complementos.
Al seleccionar esta opción aparece la siguiente caja de diálogo:
Con esta opción se especifican las macros que están disponibles y listas para usarse al iniciarse
Excel para Windows. Se pueden instalar o eliminar las macros automáticas que vienen con
Excel para Windows, o las que se hayan creado.
Aquí se muestran las Macros automáticas disponibles. Pueden seleccionarse o borrarse las
casillas de verificación de las macros automáticas a fin de instalar o eliminar las mismas en
Excel para Windows. Con el botón Examinar se muestra una caja de diálogo similar a la de
Abrir archivo donde puede seleccionarse una macro automática para ser instalada en Excel
para Windows.
Además de la macros grabadas se pueden crear códigos completos de macro instrucciones
que son una serie de instrucciones que permiten automatizar procesos Sencillos, Avanzados
y/o Complejos.
Otra utilidad de este tipo de macros es que permite, ajustar una macro (como las que se
crearon en la sección anterior) a las necesidades del trabajo que se necesite realizar. Haciendo
el trabajo de 5 a 8 veces más rápido el trabajo cotidiano e inclusive en algunas ocasiones
más rápido.
9
Tipos de Macros
Algunos ejemplos de lo que podemos hacer con las macros son:
Procesos de captura de información.
Procesos de impresión.
De análisis de datos.
De manejo de base de datos.
Elaboración de reportes.
Simplificación de tareas.
Tareas que son repetitivas, que hay que realizar varias veces el mismo procedimiento.
Un sistema de información.
Sistemas administrativos.
Están disponibles en el menú opciones de Excel.
Macros de Excel
Las macros se pueden agrupar en dos categorías principalmente:
Macros de funciones
Macros de comandos
Macros de funciones
Si ejecuta frecuentemente una tarea en Microsoft Excel, puede automatizarla mediante una
macro. Una macro consiste en una serie de comandos y funciones que se almacenan en un
módulo de Visual Basic y que puede ejecutarse siempre que sea necesario ejecutar la tarea.
Una macro se graba igual que se graba música en un casete. A continuación, se ejecuta la
macro para que repita los comandos.
Con el Editor de Visual Basic, se pueden modificar macros, copiar macros de un módulo en
otro, copiar macros entre diferentes libros, cambiar de nombre a los módulos que almacenan
las macros o cambiar de nombre a las macros.
10
Tipos de Macros
Macros de comandos
La creación de estas macro funciones consiste en poner una serie de ARGUMENTOS, en las
cuales podemos ir poniendo los datos que lleva una función normal de Excel para Windows
y al final le indicamos que operaciones hacer con estos ARGUMENTOS y de esta manera
se optimiza el uso de varias fórmulas para llegar a un resultado. Es decir la creación de una
función simplifica el uso de varias fórmulas, dejándolas como una sola.
Dentro de la codificación de macros de Excel para Windows se tiene dos grupos de códigos.
Visual Basic
Macros de Excel
Macros desde Visual Basic
Es un lenguaje (Codificación), que se puede utilizar, como lenguaje común entre los diferentes
programas que se tiene en el Microsoft Office, cabe mencionar que está basado en un Lenguaje
llamado Visual Basic, pero no tiene mucho que ver con él.
Las macros de Visual Basic están basadas en módulos, que por tal hecho se vuelven más
complicadas, teniendo como ventaja que son compatibles dentro de varias aplicaciones, de
esta manera se tendría un lenguaje común de macros entre varios programas, con lo cual se
logra que se pierda menos tiempo en realizar una macro en alguno de estos programas. Por
esta razón es que las macros de Visual Basic son vistas en un curso en particular.
Ejercicio
Cree las siguientes macros:
1. Macro “archivo” que se active con Control + a y que permita abrir un archivo
2. Macro “seleccion” que seleccione las celdas A1:B10 de la primer hoja del libro abierto
3. Macro “letra” que ponga letra tipo arial
4. Macro “color” que ponga letra de color Azul
5. Macro “tamaño” que ponga letra de tamaño 14
6. Macro “Todo” que una las macros anteriores
11
Botones, funciones y códigos de una Macro
Botones para ejecutar macros
La ejecución de la macro se puede hacer de distintas formas.
Si tiene asignado una combinación de teclas de método abreviado con éstas se puede iniciar
la ejecución.
También se puede asignar a un botón de la barra de herramientas. Cuando se personaliza
una barra de herramientas y se incluye en ella algún botón de la categoría personalizadas.
Agregar un botón a una barra de herramientas
Utilice el cuadro de diálogo Personalizar en el menú del botón de office y seleccione macros
en comandos disponibles. Aquí aparecen listadas las macros que contiene ese libro o el libro
personal de macros para que se asigne al botón, allí puede agregar la macro y después modificar el
botón, allí puede seleccionar diferentes iconos para el botón asignado a macros.
12
Botones, funciones y códigos de una Macro
En modificar están los botones a seleccionar
Agregar un control de la barra de herramientas Formularios
Existen diferentes tipos de controles que permiten ejecutar macros.
Muestre la barra de herramientas Formularios: seleccione la opción programador en el ítem
insertar, allí aparece:
13
Botones, funciones y códigos de una Macro
Estos son los controles existentes en Excel:
Label: Texto que proporciona información sobre un control, de la hoja de cálculo o de un
formulario.
Cuadro de edición No está disponible en los libros de Microsoft Excel. Este control se
proporciona para que pueda trabajar con las hojas de diálogo de Excel.
Cuadro de grupo Agrupa los controles relacionados, como los botones de opción o las casillas
de verificación.
Botón Ejecuta una macro cuando se hace clic en él.
Casilla de verificación Activa o desactiva una opción. Puede activarse más de una casilla
de verificación a la vez en una hoja o en un grupo.
Botón de opción Selecciona una de las opciones de un grupo contenido en un cuadro de
grupo. Utilice los botones de opción para permitir solamente una de varias posibilidades.
Cuadro de lista Muestra una lista de elementos.
Cuadro combinado Un cuadro de lista desplegable. El elemento que se seleccione en el
cuadro de lista aparecerá en el cuadro de texto.
Crear cuadro combinado de lista No está disponible en los libros de Excel. Este control
se proporciona para que pueda trabajar con las hojas de diálogo de Excel.
Crear cuadro combinado desplegable No está disponible en los libros de Excel. Este
control se proporciona para que pueda trabajar con las hojas de diálogo de Excel.
Barra de desplazamiento Sirve para desplazarse a través de un rango de valores cuando
se hace clic en las flechas de desplazamiento o cuando se arrastra un cuadro de desplaza-
miento. Puede desplazarse por una página de valores haciendo clic entre el cuadro de despla-
zamiento y una flecha de desplazamiento.
Control de número Aumenta o disminuye un valor. Para aumentar el valor, haga clic en la
flecha arriba; para disminuir el valor, haga clic en la flecha abajo.
14
Botones, funciones y códigos de una Macro
Si desea que el control ejecute una macro existente, abra el libro que contiene la macro.
Haga clic en la hoja de cálculo donde desee agregar el control.
Muestre la barra de herramientas Formularios: seleccione la opción programador en el ítem
insertar, haga clic en el botón del control que desee agregar.
En la hoja de cálculo, arrastre el control hasta que tenga el tamaño que desee.
Asignar una macro existente
Si agrega un botón, seleccione la macro que debe ejecutar el botón en el cuadro Nombre de
la macro.
Si agrega un control que no sea un botón, haga clic con el botón secundario en el control y, a
continuación, elija Asignar macro en el menú contextual. Seleccione la macro que desee.
15
Botones, funciones y códigos de una Macro
Si la macro no existe, haga clic en Grabar en el cuadro de diálogo Asignar macro para grabar
una nueva macro o haga clic en Nueva para abrir un módulo Visual Basic para Aplicaciones
(VBA) de Microsoft en el que puede escribir la macro.
Haga clic con el botón secundario en el control, elija Modificar texto y agregue el texto para
el control.
Cuando haya terminado, haga clic con el botón secundario en el control y, a continuación,
haga clic en Salir de Modificar texto.
Establezca las propiedades del control.
16
Botones, funciones y códigos de una Macro
Códigos de una macro
Para observar los códigos de una macro debemos de seguir los siguientes pasos:
Presione la tecla Alt + la tecla de función F11(Alt + F11). Excel nos lleva al Editor de Visual
Basic o también puede entrar al Editor de Visual Basic desde el Menú Herramientas, Macro
y Editor de Visual Basic.
Active los siguientes cuadros o ventanas normalmente están activos:
De clic en el Menú Ver y elija la opción Explorador de Proyectos
De clic en el Menú ver y elija la opción Ventana Propiedades
Del cuadro Proyecto de doble clic en Módulos o simplemente presione el signo de + que
aparece en la opción Módulos. Se activara debajo de Módulos la Opción Modulo1.
Con doble clic en Modulo1 se mostrara en el Editor de Visual Basic el código de la macro que
grabamos anteriormente asi:
Sub y End Sub indican el inicio y el final del procedimiento de la Macro1
´ Todo lo que aparece con un apostrofe ´ son comentarios y ese texto debe de aparecer
de color verde y no ejecuta nada en la macro.
Puede ejecutar la macro desde el editor de Visual Basic con el botón de ejecución de macros
en la barra de herramientas
Automáticamente se plasman los resultados en la hoja de Excel, también puede ejecutarla
con control + k o en el menú de Macros, Ejecutar y el menú de Herramientas.
17
Botones, funciones y códigos de una Macro
Funciones útiles para automatizar tareas
Códigos típicos para las macros se pueden resumir en:
Código Acción
Range(“A1”).Select Trasladarse a una Celda
Activecell.FormulaR1C1="MACROS" Escribir en una Celda
Selection.Font.Bold = True Letra Negrita o Negrilla
Selection.Font.Italic = True Letra Cursiva
Selection.Font.Underline = xlUnderlineStyleSingle Letra Subrayada
With Selection.Font Tipo de Letra(Fuente)
.Name = “Arial”
End With
With Selection.Font Tamaño de Letra(Tamaño de Fuente)
.Size = 15
End With
Selection.Copy Copiar
Selection.Cut Cortar
ActiveSheet.Paste Pegar
MsgBox “Curso de Macros” Sale una ventana con un mensaje en pantalla
With Selection Centrar Texto
.HorizontalAlignment = xlCenter
End With
With Selection Alinear a la izquierda
.HorizontalAlignment = xlLeft
End With
With Selection Alinear a la Derecha
.HorizontalAlignment = xlRight
End With
Selection.EntireRow.Insert Insertar Fila
Selection.EntireRow.Delete Eliminar Fila
Selection.EntireColumn.Insert Insertar Columna
Selection.EntireColumn.Delete Eliminar Columna
Workbooks.Open Filename:="C:\Temp\prueba.xls" Abrir un Libro
ActiveWorkbook.SaveAs Filename:=”C:\Temp\ Grabar un Libro
prueba.xls”, FileFormat _ :=xlNormal, Pas-
sword:=””, WriteResPassword:=””, ReadOnlyRe-
commended:= _False, CreateBackup:=False
18
Botones, funciones y códigos de una Macro
Ejercicios
1. Cree una hoja en la que existen diferentes botones de opción y cada uno de ellos tiene
diferentes valores de descuentos así:
El domingo es del 5%
El lunes del 10%
El resto de semana no hay descuento
Se aplica a una lista de productos, y que de acuerdo a la selección del botón de opción
se muestra el descuento en la hoja de cálculo y las respectivas operaciones en ella, como
muestra el ejemplo:
2. Cree una barra de herramientas propia con 5 macros que ejecuten las siguientes tareas:
Un botón que permita poner en Negrita la selección actual de celdas
Un botón que centre el contenido de las celdas seleccionadas
Un botón que elimine la columna seleccionada y emita un mensaje informando de la acción
Un botón que copie el contenido de las celdas o celda seleccionada
Un botón que pegue el contenido de las celdas o celda copiadas
Haga clic para ver el tutorial dinámico
http://www.javeriana.edu.co/atico/ova/excel/clase14.html
19