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

Qu es una macro de Excel?

Si utilizas Excel frecuentemente es posible que en alguna ocasin te hayas encontrado ejecutando una
misma serie de acciones una y otra vez. Esas acciones que haces repetidas veces se podran
automatizar con una macro.
Una macro es un conjunto de comandos que se almacena en un lugar especial de Excel de manera que
estn siempre disponibles cuando los necesites ejecutar.
Por ejemplo, si todas las maanas creas un reporte de ventas y en ese reporte siempre das el mismo
formato a los textos, se podra crear una macro para que lo haga automticamente por ti. Las macros
se utilizan principalmente para eliminar la necesidad de repetir los pasos de aquellas tareas que
realizas una y otra vez.
Lenguaje de Programacin
Las macros se escriben en un lenguaje de computadora especial que es conocido como Visual Basic for
Applications (VBA). Este lenguaje permite acceder a prcticamente todas las funcionalidades de Excel
y con ello tambin ampliar la funcionalidad del programa.

Si no eres un programador de computadoras, Excel provee de una herramienta especial que permite
crear una macro sin necesidad de conocer los detalles del lenguaje de programacin.

Crear una macro automtica


Las macros se crean con la Grabadora de macros la cual ir grabando todas las acciones que realicemos
en Excel hasta que detengamos la grabacin. Una vez grabada la macro podremos reproducir de
nuevo las acciones con tan solo un clic.
Existe otro mtodo que es utilizar el Editor de Visual Basic el cual nos permitir introducir el cdigo con
las instrucciones que sern ejecutadas por la macro.
Caso prctico 01
Por ejemplo, si frecuentemente aplicamos los mismos formatos personalizados a una tabla, podemos
crear una macro que lo haga automticamente.
La macro tendra que contener los siguientes procesos, toda macro debe ser previamente planificada:
1. Ubicado en una celda
2. Aplicar Negrita y Centrar
3. Aplicar los formatos de bordes
4. Aplicar los formatos de relleno

Todos estos pasos se guardan con un nombre de macro, los cuales se podr ejecutar ms adelante con
un solo clic.

Ficha Programador
Para trabajar con las herramientas de macros en Microsoft Excel debemos de activar en primer lugar
la Ficha Programador. Para activarla realice los siguientes pasos:
1. Seleccione el men Archivo
2. Haga clic en Opciones
3. Haga clic en Personalizar la cinta de opciones
4. Active la casilla correspondiente a la ficha Programador
5. Haga clic en Aceptar

6. Luego podremos elegir la ficha Programador, tal como se muestra en la siguiente figura

Seguridad de macros
Microsoft Excel est configurado por defecto el bloqueo de las macros como medida de precaucin
de la presencia de alguna macrovirus en el sistema, esta configuracin se puede cambiar para
especificar las macros que se ejecutarn.
Para modificar la seguridad de macros, realice los siguientes pasos:
1. Seleccione la ficha Programador

2.

Haga clic en el botn Seguridad de Macros que se encuentra en el grupo Cdigo

3. En el panel derecho de la siguiente ventana de dilogo, seleccione Habilitar todas las macros y
active la casilla Confiar en el acceso al modelo de objetos de proyectos de VBA

Grabar una macro


Para grabar una macro, realice los siguientes pasos:
1. Seleccione la ficha Programador
2. Seleccione el botn Grabar macro

3. En la siguiente ventana de dilogo, asignar un nombre a la macro, por ejemplo Formatos, una letra
para el atajo por ejemplo la letra f (minscula) y una descripcin de la macro (opcional).

4. Realice cuidadosamente todas las operaciones que desee grabar, por ejemplo: Seleccione una
celda en la hoja Prueba

Seleccionar la ficha Inicio, luego active la caja: Formato de celdas y seleccione la ficha

Fuente

En la siguiente ventana de dilogo aplique formato de bordes y relleno, segn las

indicaciones del profesor.

Nota: Cuando la macro se est ejecutando, guarda todas las acciones que realicemos.
5. Por ltimo para detener la grabacin seleccione la ficha Programador, haga clic en el botn
Detener grabacin.

Ejecutar una macro


Para ejecutar una macro, se puede realizar de varias formas:
A travs del comando
1. Seleccione la ficha Programador
2. Seleccione el botn Macros

3. En la siguiente ventana de dilogo, elija la macro que desee ejecutar


4. Haga clic en Ejecutar

5.

Ver el resultado de la ejecucin de la macro

A travs de un atajo

Presione simultneamente las teclas Ctrl + f

Ver el resultado de la ejecucin de la macro

Guardar un libro con macros en Excel


Para guardar un libro que contenga macros, realice los siguientes pasos:
1. Seleccione el men Archivo
2. Seleccione la opcin Guardar

3. Como es la primera vez que se guarda el libro con macro, aparecer la siguiente ventana de
dilogo, elija el botn No para guardar el libro habilitado para macros

4. En la siguiente ventana de dilogo, el nombre del libro ser Demo_macros y elija como tipo de
archivo Libro de Excel habilitado para macros

Asignar una macro a un botn


Una manera ms adecuada de ejecutar una macro es a travs de botones de comando, para lo cual
crearemos:
La ficha

: Omega SAC

El grupo

: Mis formatos

El botn de comando

: Bordes personales

Creacin de una Ficha y un Grupo


Para crear una ficha realice los siguientes pasos:
1. Seleccione el men Archivo
2. Seleccione Opciones
3. En la siguiente ventana de dilogo seleccione Personalizar la cinta de opciones
4. En el panel derecho de la ventana, haga clic en el botn Nueva ficha

5. Por ltimo haga clic en Aceptar para ver la ficha creada

6. Luego haga un clic derecho sobre el Nuevo grupo y seleccione Personalizar la cinta de opciones

7. En la siguiente ventana haga clic derecho sobre el elemento Nueva ficha y elija Cambiar nombre

8. Luego escriba el nuevo nombre para la ficha

9. En forma similar haga clic derecho sobre elemento Nuevo grupo para cambiarle de nombre

10. Luego cambie el nombre para el nuevo grupo

11. El resultado final debe ser similar al de la siguiente figura

Agregar un botn
Una vez creado la ficha Omega SAC y el grupo Mis formatos, procederemos a insertar un botn para
la macro Formatos que creamos anteriormente. Realice los siguientes pasos:

1. Haga clic derecho sobre el grupo Mis formatos y del men contextual elija Personalizar la cinta
de opciones

2.

En la siguiente ventana de dilogo, seleccione:

a)

El grupo Mis formatos

b)

En comandos disponibles Macros

c)

Seleccione la macro Formatos

d)

Seleccione Agregar

3. Luego cambiaremos la imagen y el nombre del botn insertado tal como se muestra en la siguiente
figura.

4.

El resultado final ser

10

5. Finalmente pruebe que el botn funcione, seleccione el rango de celdas de la hoja Tabla1 y haga
clic en el botn Bordes personales, en forma similar con los rangos de las listas de las hojas Tabla2
y Tabla3

Vista de Cdigos de una Macro de Excel


Para observar los cdigos de una macro crearemos en primer lugar una pequea macro que realice los
siguientes procesos:
1. La macro se llamar Fuente y su atajo ser Ctrl + f

2. Aplicar a la celda activa los formatos de Negrita, Cursiva, Subrayado doble

11

3. Luego ir a la ficha Programador y Detener la grabacin

4. A continuacin probemos la ejecucin de la macro, por ejemplo escriba en la celda D3 el texto

ESPECIALISTA EN EXCEL

5. Luego estando en dicha celda presione simultneamente las teclas Ctrl +f, el resultado ser

6. Luego iremos al Editor de Visual Basic para visualizar el cdigo generado

12

7. Que es lo que significa esto nos preguntaremos asombrados, a continuacin se da una

explicacin de lo que ha hecho Excel:


Sub y End Sub

Indican el inicio y final del procedimiento de la


macro Fuente

Lo que aparece con apostrofe son solo


comentarios que no inciden en la ejecucin de la
macro y aparecen en color verde.

Selection.Font.Bold = True

Indica que se ha asignado el atributo de negrita


(Bold) a la celda activa

Selection.Font.Italic = True

Indica que se ha asignado el atributo de cursiva


(Italic) a la celda activa

Selection.Font.Underline
xlUnderlineStyleDouble

= Indica que se ha asignado el atributo de


subrayado doble (StyleDouble) a la celda activa

8. Para comprender mejor realice los siguientes cambios dentro del editor de Visual Basic

13

9. Cierre el Editor de Visual Basic


10. Seleccione la celda B2 y escriba:

11. Ejecute nuevamente la macro con el atajo Ctrl + f, el resultado ser

Cdigos VBA Bsicos

ActiveCell.Offset
Desplaza el puntero de celda F Filas hacia abajo o hacia arriba y C Columnas a la derecha o
izquierda, dependiendo si los valores de F y C son positivos o negativos respectivamente.
Sintaxis:
ActiveCell.Offset(F,C).Select
Donde:
F

Nmeros de filas a desplazarse y C Nmero de columnas a desplazarse

Ejemplo:
ActiveCell.Offset(0,2).Select Desplaza el puntero dos columnas a la derecha
ActiveCell.Offset(3,0).Select Desplaza el puntero tres filas hacia abajo

14

ActiveCell.Offset(1,5).Select Desplaza el puntero una fila hacia abajo y cinco columnas a la derecha
ActiveCell.Offset(-2,-

Desplaza el puntero dos filas hacia arriba y cuatro columnas a la

4).Select

izquierda

Ejercicio:
Veamos ahora como podemos desplazar el puntero de celda, mediante cdigo de VBA.
Repetiremos el ejercicio siguiente: deseamos desplazar el puntero de celda al final de la siguiente fila
y desplazarnos una fila hacia abajo (ver la siguiente figura)

Solucin:
1. Ir a la ficha Programador
2. Seleccione el botn Macros

3. En la siguiente ventana de dilogo, escriba el nombre de la nueva macro, por ejemplo

Desplazamiento y luego haga clic en Crear

15

4. En la siguiente ventana de cdigos, escriba los siguientes cdigos para el procedimiento

Desplazamiento

5. Luego cierre la ventana del editor de Visual Basic


6. Ahora ubique el puntero de celda en la posicin B3

7. Por ltimo ejecute la macro

8.

El resultado ser el mismo que se logr cuando se grab las acciones de desplazamiento de

manera manual

16

ActiveCell.Value
Nos permite asignar un valor a la celda activa
Sintaxis:
ActiveCell.Value = Dato
Dnde:
Dato

: Es el valor que se almacenar en la celda activa

Ejemplo:
ActiveCell.Value = 10
ActiveCell.Value = IDAT
Ejercicio:
Crear una macro que ingrese el nombre de producto Leche, la cantidad a comprar 4 y el precio de 2.5

Solucin:
1. Ir a la ficha Programador
2. Seleccione el botn Macros
3. En la siguiente ventana de dilogo, escriba el nombre de la nueva macro, por ejemplo Datos y

luego haga clic en Crear

17

4. En la siguiente ventana de cdigos, escriba los siguientes cdigos para el procedimiento Datos

Luego cierre la ventana del editor de Visual Basic


5. Ahora ubique el puntero de celda en la posicin B4

6. Por ltimo ejecute la macro Datos

7. El resultado ser similar al de la siguiente figura

18

A continuacin veremos el cdigo para calcular el importe

ActiveCell.Formula
Nos permite asignar un valor a la celda activa como resultado de una frmula
Sintaxis:
ActiveCell.Formula = Expresin
Donde:
Expresin: Es la expresin de una frmula entre comillas, cuyo resultado se almacenar en la celda
activa
Ejemplo:
ActiveCell.Formula = =C4*D4
ActiveCell.Formula = "=C[-2]*C[-1]"
En el primer ejemplo se estn multiplicando los valores de las celdas C4 y D4 y en el segundo ejemplo
el contenido de las celdas que se encuentra a dos y una columna a la izquierda de la celda activa.
Ejercicio:
Modificar la macro anterior para que calcule el importe de la compra realizada

Solucin:
1. Edite la macro Datos para modificarla

19

2. Ahora agregue las dos ltimas lneas de cdigo para el procedimiento Datos

C[n]

Indica la referencia a una celda que est a n columnas de la celda activa, por
ejemplo:

C[-1]

Indica la celda que se encuentra una columna a la izquierda de la celda activa

R[n]

Indica la referencia a una celda que est a n filas de la celda activa, por ejemplo:

R[3]

Indica la celda que se encuentra tres filas debajo de la celda activa

R[1]C[2] Indica la celda que se encuentra una fila abajo y dos columnas a la derecha de la
celda activa

20

Nota: Si la referencia es en la misma fila (Row) o columna (Column) se podr omitir 0 en C y R


respectivamente, es decir R[0] es lo mismo que poner solamente R
3. Luego cierre la ventana del editor de Visual Basic
4. Ahora ubique el puntero de celda en la posicin B4

5. Por ltimo ejecute la macro Datos

6.

El resultado ser similar al de la siguiente figura

InputBox
Nos permite ingresar datos a travs de una caja de dialogo.
Sintaxis:
InputBox([prompt],[Title],[Default],{xpos],[ypos]
Dnde:
Prompt

: Es el texto mostrado en el cuadro de dilogo

Title

: Texto de ttulo para el cuadro de dilogo

Default

: Valor por defecto mostrado en el cuadro de dilogo

Xpos,Ypos

: La pantalla se ubicar segn las coordenadas

Ejemplo:

21

ActiveCell.Value = InputBox ("Que estudias", "IDAT", "escriba el curso", 9000, 3000)

Ejercicio:
Empleando InputBox ingrese el nombre del curso en la celda activa de la siguiente hoja de clculo

Solucin:
1. Ir a la ficha Programador
2. Seleccione el botn Macros
3. En la siguiente ventana de dilogo, escriba el nombre de la nueva macro, por ejemplo Ingreso

y luego haga clic en Crear

22

4. En la siguiente ventana de cdigos, escriba los siguientes cdigos para el procedimiento

Ingreso

5. Luego cierre la ventana del editor de Visual Basic


6. Ahora ubique el puntero de celda en la posicin C7

7. Por ltimo ejecute la macro

8. Se mostrar la siguiente ventana de dilogo

23

9. Modifique el texto por defecto y escriba como nombre del curso Macros en Excel y haga clic

en Aceptar

10. El resultado final ser similar al de la siguiente figura

Otros cdigos VBA Bsicos


Cdigo

Descripcin

Selection.EntireRow.Insert

Inserta una fila en la hoja de clculo

Selection.EntireColumn.Insert

Inserta una columna en la hoja de clculo

Selection.EntireRow.Delete

Elimina una fila en la hoja de clculo

Selection.EntireColumn.Delete

Elimina una columna en la hoja de clculo

24

Prctica Calificada 01
Resolver:
1. Crear una macro Ventas, que permita ingresar las ventas de las sucursales tal como se muestra

en la tabla de la siguiente figura.

Se ingresar a travs de un InputBox c/u de las ventas (sucursales) del da Lunes

Luego el puntero se debe desplazar a la siguiente fila debajo de la venta de la primera

sucursal (Miraflores).

De forma similar ingresara los datos para el resto de das

Solucin:

a)

Solo indicaremos la ventana de cdigos, porque los pasos para llegar hasta l ya se han

detallado en los ejercicios anteriores.

b)

En la hoja Ventas, inserte un Botn de comando asociado a la macro Ventas

25

c)

Al ejecutar la macro se mostrar la siguiente ventana de dilogo e ingrese la venta para

la primera sucursal, tal como se muestra en la siguiente figura

d)

El primer resultado mostrara lo siguiente:

e)

En forma similar ingre el valor de las ventas de las dems sucursales, el resultado final

ser:

26

2. En la siguiente Hoja: Notas. Crear una macro llamada Notas, que permita ingresar las notas de

los siguientes alumnos y calcule su promedio.


a)

Se ingresar las notas a travs de un InputBox c/u para el alumno

b) Se calcular su promedio
c)

Luego el puntero se debe desplazar a la siguiente fila debajo de la nota del primer curso

(Windows)

Solucin:

Solo indicaremos la ventana de cdigos, porque los pasos para llegar hasta l ya se han

detallado en los ejercicios anteriores. (de acuerdo al siguiente modelo, que es solo un ejemplo,
usted deber dar solucin a la macro Notas)

Asocie un botn a la macro Notas.

27

Ejecute la macro para ingresar las notas, notaremos que el promedio se calcula
automticamente.

28

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