Você está na página 1de 5

MICROSOFT EXCEL – HOJA DE PRÁCTICAS

EJERCICIOS CON MACROS


Ejercicio N°1
Crea una macro en Excel que permita cambiar la orientación del papel a Horizontal al imprimir y que permita ver
en
el documento los saltos de página. Llama a la macro ImprimirHorizontal.
Crea un botón personalizado para esta macro e insértalo en la barra de formato.
Ejercicio N°2
Crear una macro que realice lo siguiente:
- Escribir el texto “Ejercicios de Macros en Excel” en la celda C6.
- Poner este texto con una orientación vertical.
- Ponerlo centrado en la celda.
- Cambiar el tipo de letra a TAHOMA.
- Cambiar el tamaño de la letra a 14 puntos.
- Poner el fondo de la celda en color azul.
- Poner bordes gruesos a la celda de color azul fuerte.
- Poner la letra en Cursiva y negrita.
- Poner el color de la letra en color violeta.
- Asignar esta macro a la barra de herramientas, creando para ella un botón personalizado.
- Ejecutar la macro en otras hojas del libro de trabajo.
Ejercicio N°3
Crear una macro que me escriba en la fila Nº1 todos los meses del año, y a partir de la fila 2 y en la columna A todos
los días de la semana. Todos deben tener el tipo de letra Courier con tamaño 12, estar en negrita y doble subrayado,
además de tener bordes cada una de las celdas.
- Asigna dicha macro para poder ser ejecutada con la combinación de teclas CTRL + E.
- Ejecuta la macro en otras hojas del libro de trabajo.
Ejercicio N°4
Crear una macro con el Nombre de Macro, Poner_Líneas. En Guardar Macro en, deje la opción en Libro Activo.
En Descripción, ponga, macro para bordes a un rango de celdas.
Ejecute los pasos siguientes. Son para poner los bordes
1 Seleccione el rango A1:G6.
2 Active Opción Formato/ Celdas. Seleccione ficha Bordes.
3 Ponga línea alrededor de la selección
3.1 En cuadro Estilos, seleccione la penúltima o antepenúltima línea.
3.2 Pulse sobre el botón que representa un cuadrado.
4 Ponga las líneas verticales.
4.1 Seleccione del cuadro estilo la última línea de la primera columna.
4.2 Pulse sobre el botón que representa las líneas interiores de la selección (el situado en el centro de la línea
inferior de botones).
4.3 Pulse sobre el botón Aceptar.
5. Seleccione el rango A1:G1
6. Active de nuevo la opción Formato/Celdas y seleccione la ficha Bordes.
7. Ponga línea inferior doble.
7.1 Seleccione del cuadro Estilo la última línea de la segunda columna.
7.2 Pulse sobre el botón que representa la línea inferior de la selección.
7.3. Pulse sobre el botón Aceptar.8
8. Detenga la grabadora de Macros.
9 Ahora abra el Editor de Visual Basic y compruebe como la grabadora ha hecho todo el trabajo
10. Modificar la macro de forma que este formato de bordes sea aplicable a cualquier rango
MICROSOFT EXCEL – HOJA DE PRÁCTICAS

Ejercicio N°5
Desde el Editor de Visual Basic agregamos un procedimiento sobre el Objeto ThisWorkbook al que llamaremos
horaactual y pegamos el siguiente código:

*Private Sub Workbook_Open()


MsgBox "La hora actual en el sistema es: " & Time
*End Sub

Ejercicio N°6
Inserte un nuevo módulo ( Sub saludos())y copia el código siguiente para que el programa le pida que introduzca su
nombre por el teclado y le de la respuesta en un mensaje de texto.

Sub saludos()
Dim strnombre As String
Dim strrespuesta As String
strnombre = InputBox("Cómo te llamas?", "Saludo")
strrespuesta = MsgBox("Hola " & strnombre, vbExclamation, "Saludo")

End Sub

Ejercicio N°7
Crear una macro para poner a cero el contenido de ciertas celdas de nuestra hoja de trabajo.
Crea un nuevo libro de Excel con el nombre Macros Limpiar y Sumar
En la celda D10 coloca 2015, en la celda E10 coloca 2016 y en la celda F10 coloca 2017. Coloca Juan, Luis, María
en el rango D11:F11 respectivamente.
Pulsa las teclas ALT + F11.
Accede al menú Insertar para insertar un nuevo módulo.
Presiona sobre Módulo.
Vuelve al menú Insertar.
Selecciona Procedimiento. En el nombre del procedimiento escribe Limpiar.
Selecciona Procedimiento y que es de ámbito Público.
Escribe el código del procedimiento como se ve en la imagen, lo escrito en verde son comentarios aclaratorios.

Cierra la ventana del Editor de VisualBasic.


Ahora vamos a comprobar que funciona correctamente la macro creada.
Accede a la pestaña Vista.
Haz clic en el botón Macros.
Selecciona la macro creada Limpiar y pulsa sobre Ejecutar.
MICROSOFT EXCEL – HOJA DE PRÁCTICAS

Observa como las celdas del rango D10:F10 se han puesto a cero y las del rango D11:F11 se han quedado sin
contenido. Guarda los cambios como un libro de Excel habilitado para macros.
Ejercicio N°8
Para practicar otras instrucciones de VBA, vamos a definir una macro para sumar tres celdas y dejar el resultado en
otra.
Escribe estos valores en una hoja en blanco dentro del mismo libro

Queremos sumar desde B3 hasta B5 y colocar la suma en C2.

Pulsa las teclas ALT + F11.


Te aparecerá el módulo con el procedimiento limpiar. Si no es así, busca en la zona de la izquierda, en el explorador
de proyectos, en la carpeta Módulos, el módulo Módulo1 y haz doble clic sobre él.
Accede al menú Insertar para insertar un nuevo procedimiento.
Selecciona Procedimiento. Nos aparece el cuadro de diálogo Procedimiento.
En el nombre del procedimiento escribe Sumar.
Selecciona Procedimiento y que es de ámbito Público.
Presiona sobre Aceptar.
Escribe el código del procedimiento como se ve en la imagen, lo escrito en verde son comentarios aclaratorios.
Cuando escriba la instrucción For pulsar F1 para ver la sintaxis y explicación de la instrucción..

Cierra la ventana del Editor de VisualBasic.


Ahora vamos a comprobar que funciona correctamente la macro creada.
Ve a la pestaña Vista. Haz clic en el botón Macros.
Selecciona la macro creada Sumar y pulsa sobre Ejecutar.
Observa como la celda C2 contiene la suma de las celdas B3, B4 y B5.

***Si queremos que al pulsar Ctrl S se ejecute esta macro que hay que hacer?
MICROSOFT EXCEL – HOJA DE PRÁCTICAS

Pulse Aceptar, cierre la ventana macro, modifique los datos pulse Ctrl s
Ejercicio N°9
Practicaremos con el bucle For each... next, muy útil en este tipo de programación.
Crearemos una macro que aumente en un 50% el valor de las celdas seleccionadas
Crear un nuevo libro de nombre Macro Aumentar 50
Genere los siguientes datos en cualquier área de la hoja

Pulsa las teclas ALT + F11.


Accede al menú Insertar para insertar un nuevo módulo.
Presiona sobre Módulo. Vuelve al menú Insertar. Selecciona Procedimiento...
Nos aparece el cuadro de diálogo Procedimiento.
En el nombre del procedimiento escribe Aumentar50
Selecciona Procedimiento y que es de ámbito Público.
Presiona sobre Aceptar.
Escribe el código del procedimiento como se ve en la imagen, lo escrito en verde son comentarios aclaratorios.
Cuando escriba la instrucción Each pulsar F1 para ver la sintaxis y explicación de la instrucción.

Con este procedimiento aumentamos un 50% los valores contenidos en las celdas seleccionadas.
Cierra la ventana del Editor de VisualBasic.
MICROSOFT EXCEL – HOJA DE PRÁCTICAS

Ahora vamos a comprobar que funciona correctamente la macro creada.


En este caso, como la macro funciona a partir de las celdas seleccionadas, tenemos que seleccionarlas antes de
ejecutar la macro.
Selecciona un rango de celdas (selecciona los precios de los artículos que van a variar, puedes incluso seleccionar
celdas no contiguas con la tecla Ctrl).
Ve a la pestaña Vista.
Haz clic en el botón Macros.
Selecciona la macro creada Aumentar y pulsa sobre Ejecutar.
Observa como los valores de las celdas seleccionadas han aumentado un 50%.
Guarda los cambios. Configura la macro para que se ejecute con la combinación de teclas Ctrl a
Ejercicio N°10
Crear una macro y asociarla a un cuadro en la hoja que se capaz de sacar en pantalla (bien con cuadros de mensaje o
en la hoja activa) los lunes comprendidos en el mes corriente. Por ejemplo si estamos en mayo del 2017 tendrá que
decir que días son lunes.
Para ello copia el siguiente código dentro de un procedimiento en visual basic.

Sub averiguando_lunes()
Dim Mes As Long, Fecha As Date, DiaSemana As Long, PrimerLunes As Long
'tomo la fecha del día uno del mes actual
Fecha = DateValue("1/" & Format(Now, "mm/yyyy"))
'miro qué día de la semana es
DiaSemana = Weekday(Fecha, vbMonday)
'busco el primer lunes a partir de ese día
If DiaSemana <> 1 Then
PrimerLunes = Abs(7 - DiaSemana + 1)
Else
PrimerLunes = DiaSemana
End If
Fecha = DateAdd("d", PrimerLunes, Fecha)
'mientras esté en el mismo mes voy mostrando los lunes
Mes = Month(Now)
While Mes = Month(Fecha)
MsgBox "El día " & Format(Fecha, "d/mm/yyyy") & " es lunes"
Fecha = DateAdd("d", 7, Fecha)
Wend
End Sub.

Você também pode gostar