Академический Документы
Профессиональный Документы
Культура Документы
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.
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.
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
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
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.
5.
A travs de un atajo
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
: Omega SAC
El grupo
: Mis formatos
El botn de comando
: Bordes personales
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
9. En forma similar haga clic derecho sobre elemento Nuevo grupo para cambiarle de nombre
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.
a)
b)
c)
d)
Seleccione Agregar
3. Luego cambiaremos la imagen y el nombre del botn insertado tal como se muestra en la siguiente
figura.
4.
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
11
ESPECIALISTA EN EXCEL
5. Luego estando en dicha celda presione simultneamente las teclas Ctrl +f, el resultado ser
12
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Font.Underline
xlUnderlineStyleDouble
8. Para comprender mejor realice los siguientes cambios dentro del editor de Visual Basic
13
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
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,-
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
15
Desplazamiento
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
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
17
4. En la siguiente ventana de cdigos, escriba los siguientes cdigos para el procedimiento Datos
18
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]
R[n]
Indica la referencia a una celda que est a n filas de la celda activa, por ejemplo:
R[3]
R[1]C[2] Indica la celda que se encuentra una fila abajo y dos columnas a la derecha de la
celda activa
20
6.
InputBox
Nos permite ingresar datos a travs de una caja de dialogo.
Sintaxis:
InputBox([prompt],[Title],[Default],{xpos],[ypos]
Dnde:
Prompt
Title
Default
Xpos,Ypos
Ejemplo:
21
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
22
Ingreso
23
9. Modifique el texto por defecto y escriba como nombre del curso Macros en Excel y haga clic
en Aceptar
Descripcin
Selection.EntireRow.Insert
Selection.EntireColumn.Insert
Selection.EntireRow.Delete
Selection.EntireColumn.Delete
24
Prctica Calificada 01
Resolver:
1. Crear una macro Ventas, que permita ingresar las ventas de las sucursales tal como se muestra
sucursal (Miraflores).
Solucin:
a)
Solo indicaremos la ventana de cdigos, porque los pasos para llegar hasta l ya se han
b)
25
c)
d)
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
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)
27
Ejecute la macro para ingresar las notas, notaremos que el promedio se calcula
automticamente.
28