Contenido:

El mundo de Excel es casi imposible de abarcar completamente. La mejor manera de saber más es seguir investigando y aprendiendo. En cada materia siempre hay un experto y por eso me gustaría que en este artículo uno de esos verdaderos conocedores de Excel nos explicará un poco sobre las macros de VBA y la programación en Excel.

Os dejo con Quique, el creador de la web ExcelyVBA.com, sin duda, una de las mejores webs de Excel que hoy en día existen en Internet para los que hablamos en español.

Saludos, José Enrique.

Una historia personal

Para ilustrar la potencia de las macros me gustaría contarte una historia personal que creo que nos puede servir a todos. Hace aproximadamente 5 años descubrí qué eran las macros en VBA por “accidente” y desde entonces no he dejado de usarlas. La historia es la siguiente.

En mi primer trabajo una de las primeras tareas que me habían asignado era prácticamente inabarcable y totalmente aburrida. La tarea era buscar un código del tipo “EAS028372” en un montón de ficheros de Excel con cientos de miles de filas. Una vez encontrado, copiar la fila entera a un archivo y poner un color en función de la fecha (si era pasada o futura).

Como puedes imaginarte, para un chico de 24 años recién cumplidos esperando hacer cosas muy interesantes esta tarea no era la más motivante.

Lo comenté con un amigo y me dijo simplemente: “Haz una macro”. Hum… parecía interesante aprender algo nuevo así que me puse con ello. Una semana después había conseguido hacer la macro más fea del mundo, pero a la vez una que resolvía mi problema diario en menos de un minuto, sin errores y sin tener que gastar más tiempo del necesario.

Estoy seguro que al leer esto te habrás sentido identificado. Todos hemos tenido que pasar por este tipo de traumas. Algunos, no los superan y se aburren infinitamente mientras realizan su pesada tarea, otros se niegan a hacer y otros, como yo, buscamos una alternativa para hacerlo sin aburrimiento.

¿Qué es VBA y para qué sirve?

Y te estarás preguntando, ¿qué son las macros? Pues muy sencillo, son pequeños textos escritos en código VBA (lenguaje de programación de Microsoft Excel) que nos permiten automatizar ciertas tareas a través de botones.

Por ejemplo, una macro muy sencilla sería aquella que nos pide un número en Excel a través de una ventana después de hacer click en un botón. ¿Interesante verdad?

Pero la utilidad de las macros es mucho más que esto. Por ejemplo, algunos ejemplos útiles y de uso cotidiano que puedes hacer con macros son:

  • Copiar los datos de una hoja de Excel en un nuevo libro.
  • Crear una copia de seguridad de un libro de Excel antes de realizar ciertos cambios.
  • Eliminar las filas de una tabla que cumplen con ciertos criterios.
  • Añadir una hoja con algunos textos.
  • Copiar un rango de celdas en una nueva hoja de Excel o en una hoja ya existente.
  • Proteger un libro de Excel con contraseña antes de enviarlo por correo.
  • Antes de cerrar un libro de Excel, poner todas las hojas con el zoom en el mismo tamaño.
  • Crear tus propias funciones en Excel.
  • ….

Como ves, todo lo que se puede hacer manualmente con Excel también se puede automatizar y te ayudará a ahorrar miles de horas de trabajo. O incluso puede que te permita hacer cosas que de otra manera serían imposibles de llevar a cabo por dificultad o por tiempo.

¿Por dónde puedo empezar?

Vale, estamos de acuerdo, las macros en VBA pueden ser muy útiles si eres un usuario avanzado de Excel (si no lo eres te recomiendo que sigas las clases de José Enrique) antes de meterte en “más líos”.

Pero si ya tienes un buen conocimiento de Excel te recomiendo que te plantees seriamente aprender a usar las macros para ahorrar un montón de tiempo en tú trabajo.

Para que veas que no es tan difícil lo que vamos a hacer te animo a que sigas los siguientes pasos para que veas que no es imposible aprender a hacer una macro.

1 – Abre el editor de Visual Basic haciendo click en las teclas Alt + F11

2 – Haz click en el icono mostrado en la siguiente imagen y selecciona la opción “Módulo”.

macro1

3 – En la hoja en blanco que se acaba de abrir copia el siguiente texto:

Sub Primera_Macro()
        Msgbox “Hola querido amigo.”
End Sub

4 – Vuelve a la hoja de Excel con la que estabas trabajando e inserta una “forma”, la que quieras. En mi caso yo he seleccionado un rectángulo al que le he dado un poco de apariencia para que parezca un botón.

macro2

5 – Haz click sobre la forma con el botón derecho del ratón. De la lista de opciones que aparece selecciona la opción de “Asignar macro…” como puedes ver señalada en la siguiente imagen:

macro3

6 – En la ventana que aparece selecciona la opción de “Primera_macro” al igual que en la siguiente imagen:

macro4

7 – Haz click en el botón “Aceptar” y después selecciona cualquier celda de la hoja de Excel. Una vez que hayas hecho esto haz click sobre la “forma-botón” con el botón izquierdo del ratón (como para ir a seleccionar la forma).

¿Has visto lo que ha pasado? Acabas de crear tú primera macro y no ha tenido ninguna dificultad.

Si quieres, vuelve al editor de VBA como antes y sustituye la macro anterior por la siguiente:

Sub Primera_Macro()
       Range(“A1”).Value=”Esto de las macros mola.”
       Msgbox “Hola querido amigo.”
       ActiveSheet.Name = “Excel mola”
End Sub

Fíjate ahora que en la celda A1 de tú hoja acaba de aparecer un texto y que el nombre de la hoja ha cambiado. ¿Impresionante verdad?

¿Qué tengo que hacer para aprender macros?

Supongo que ya te ha picado el gusanillo y te gustaría aprender más. Pues bien, hay que ser honestos. La mejor manera de aprender es contratar un profesor que en pocas horas pueda explicarte un montón de cosas para que después, con tú propio trabajo personal, puedas seguir aprendiendo por tú cuenta.

Pero si eres de los que antes de meterte en unas clases le gusta probar un poco por su cuenta e investigar te recomiendo que le eches un vistazo a este curso de VBA. Es online y totalmente gratuito y estoy seguro de que puede venirte bien como apartado de consulta.


Espero que esta pequeña introducción a VBA te haya gustado y haya conseguido que te intereses por la programación de macros.

Quiero agradecer a José Enrique el haberme invitado a participar en esta bitácora tan interesante sobre clases, cursos y tutoriales. Para los que nos gusta enseñar siempre es un placer poder salir un poco de nuestra zona de confort. ¡Muchas gracias José Enrique!

Comentarios (1)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *