En esta segunda lección, vas a aprender a crear, editar y asignar macros a botones en Microsoft Excel®, para que simplemente al pulsarlos se realicen todas las operaciones programadas. Comenzamos!
Abrimos el libro de la lección anterior y pulsamos la combinación de teclas ALT+F11 para lanzar el editor de Microsoft Visual Basic. Otra manera de abrirlo sería pulsando el botón Visual Basic de la pestaña Programador.
A la izquierda de la imagen, verás el esquema del proyecto del libro actual.
En primer lugar aparecen los objetos, que no son más que las hojas de cálculo que forman nuestro libro.
A continuación, cuelgan los módulos. En nuestro caso un solo módulo, que guarda la macro que creamos en la lección anterior. Más adelante verás que dentro de cada módulo se pueden guardar varias macros, es decir, no tiene por qué existir una relación directa entre el número de módulos y el número de macros.
Vamos a crear un nuevo módulo seleccionando en el menú Insertar > Módulo. Verás que en el panel izquierdo aparece el segundo módulo. Escribimos la siguiente macro:
Macro 1. Borrar el contenido de celdas y asignarles números.
'Macro para borrar el contenido de las celdas y asignarle números
Range("A1:A8").ClearContents 'Borra el contenido del rango seleccionado, desde A1 hasta A8
Cells(1,1).Value=1 'Asignamos el valor 1 a la celda(1,1) que es A1
Cells(2,1).Value=2 'Asignamos el valor 2 a la celda(2,1) que es A2
Cells(3,1).Value=3 'Asignamos el valor 3 a la celda(3,1) que es A3
Cells(4,1).Value=4 'Asignamos el valor 4 a la celda(4,1) que es A4
Cells(5,1).Value=5 'Asignamos el valor 5 a la celda(5,1) que es A5
Cells(6,1).Value=6 'Asignamos el valor 6 a la celda(6,1) que es A6
Cells(7,1).Value=7 'Asignamos el valor 7 a la celda(7,1) que es A7
Cells(8,1).Value=8 'Asignamos el valor 8 a la celda(8,1) que es A8
End Sub
Esta macro va a borrar el contenido de las celdas desde A1 hasta A8 y después les va a asignar valores desde el 1 hasta el 8.
La asignación de un valor a una celda la he realizado de manera distinta a la que veíamos en la macro de la lección anterior sobre cómo configurar Microsoft Excel para el uso de macros. Quédate con la que más te guste.
Guardamos y cerramos el editor VBA.
Nos vamos a la pestaña Programador y pulsamos sobre el botón Macros que veíamos en la lección anterior. Ya tenemos dos macros!
Vamos a crear ahora nuestro primer botón. Para ello cerramos la ventana y en la pestaña Programador pinchamos sobre Insertar > (Controles de formulario) Botón.
Dibuja un rectángulo en cualquier parte de la hoja y al soltar aparecerá el siguiente cuadro de diálogo:
Elige la macro que acabas de crear (Leccion2), pulsa Aceptar y ya tenemos creado el botón con la macro Leccion2 asignada.
Pinchamos sobre cualquier celda para salir del modo edición del botón y ejecutamos la macro. ¿Cómo? Pues pulsando el botón que acabamos de crear. Verás cómo automáticamente las celdas desde A1 hasta A8 toman los valores desde 1 hasta 8 tal y como habíamos programado. Así da gusto trabajar, y esto solo acaba de empezar!
Los botones de los controles de formulario son editables.
Para modificar el texto, pulsa el botón derecho del ratón cuando te encuentres sobre él y elige la opción Modificar texto. Escribe el texto “Numeros”.
Para asignar una macro distinta al botón, elige la opción Asignar macro pulsando sobre el botón derecho del ratón cuando te encuentres sobre él.
Para cambiar tipo de fuente, color, tamaño… pulsa sobre el botón derecho cuando te encuentres sobre él y elige la opción Formato de control.
Antes de terminar, vamos a crear un segundo botón para restaurar al estado anterior la tabla. Para esto, sólo tenemos que asociar este nuevo botón a la macro que creamos en la primera lección “Leccion1”, siguiendo el mismo procedimiento que hemos visto anteriormente. Escribe en el texto del botón “Letras”.
El resultado será una tabla como la siguiente:
Si pulsamos el botón “Números” se ejecutará la macro “Leccion2” y en las 8 primeras filas aparecerán los números del 1 al 8. Si pulsamos el botón “Letras” se ejecutará la macro “Leccion1” y en las 8 primeras filas aparecerán las letras de la a hasta la h.
Con esto llegamos al final de la segunda lección. Espero que te haya gustado y que te plantees hacer el curso completo para ser capaz de programar por ti mismo sin limitaciones cualquier macro que se te pase por la cabeza.
Por último, quiero invitarte a compartir tus dudas en los comentarios o en el foro. Intentaré ayudarte en todo lo que pueda, y así aprenderemos todos.
Nos vemos en el próximo capítulo.
Si te ha servido y quieres donar
Descarga el archivo del ejemplo
4 Comentarios
Enviar un comentario
« L1. Configurar Excel para el uso de macros.
L3. Función ScreenUpdate en una macro. »
Muchas gracias por compartir me sirvio de maravilla
Gracias Lourdes 😉
como crear boton de siguiente y anterior en una base de datos, sin usar un formulario
Hola Gabriel,
No termino de entender tu pregunta. ¿Dónde quieres que aparezcan los botones exactamente?
Saludos.