Dónde colocar tu código VBA Excel

En algunos comentarios de ciertos tutoriales publicados en la web, me preguntan que dónde deben colocar el código de programación de ejemplo que incluyo en los artículos.

Casi siempre lo doy por hecho sin tener en cuenta que hay usuarios que realmente no saben dónde colocar el código VBA para que la macro funcione correctamente.

En este breve tutorial te mostraré los tres sitios donde puedes escribir tu código VBA explicándote por qué se coloca en cada lugar.

Abre el editor de VBA pulsando Alt + F11.

Editor VBA Alt F11Editor VBA Alt F11

 

 

Módulo de libro

En el módulo de libro (sólo hay uno por proyecto) debes pegar o introducir el código que quieras ejecutar cuando ocurra un evento de libro. Un evento de libro es “algo” que ocurre en el libro por una acción del usuario. Algunos ejemplos de eventos de libro pueden ser cuando:

  • Cuando se activa.
  • Cuando se guarda.
  • Cuando se cierra.
  • Cuando se crea una hoja.

Imagina que quieres mostrar un mensaje cuando se abra el libro de trabajo

 

  1. Haz doble clic en el Módulo ThisWorkbook para mostrar la ventana de código.
  2. De los dos desplegables que hay encima de la ventana, pulsa en el de la izquierda y selecciona Workbook.
  3. En el desplegable de la derecha debes seleccionar Open. Aparecerán dos líneas de código.
  4. A continuación pega o escribe el código MsgBox “Hola” entre las dos líneas.

Módulo de libro Excel

Y ya está. Guarda el libro y ciérralo. A partir de ahora, cuando abras el libro se ejecutará la macro y aparecerá la palabra Hola-

Módulo de hoja

En los módulos de hoja (hay uno para cada hoja), debes pegar o introducir el código que desees que se ejecute cuando “pase algo” en una hoja determinada. Ese “algo” puede suceder cuando:

  • Se active la hoja
  • Cuando se modifique una o varias celdas
  • Cuando se desactive
  • Cuando se calcule
  • Cuando se actualice una tabla
  • ….

De la misma forma que para el módulo de libro, sigue los siguientes pasos si quieres mostrar un mensaje cuando se vaya a eliminar la hoja:

  1. Haz doble clic en el módulo de hoja donde quieras que se ejecute el código.
  2. En el desplegable de la izquierda de la parte de arriba de la ventana de código, selecciona Worksheet.
  3. En el desplegable de la derecha, selecciona BeforeDelete. Aparecerán dos líneas de código.
  4. Introduce tu código entre estas dos líneas. Para mostrar el mensaje escribe .

Módulo de hoja Excel

Para ejecutar este código no hace falta que guardes el libro. Simplemente pulsa con el botón derecho en la pestaña de la hoja donde has insertado el código y selecciona Eliminar.

 

Módulo estándar

Un módulo estándar es muy parecido a una carpeta de Windows. Sirve para guardar las macros generales de forma más o menos ordenada. Un proyecto VBA puede tener desde cero módulos estándar hasta infinitos, dependiendo de cómo quieras organizar las macros.

En primer lugar, debes crear un módulo si no se muestra ninguno en el proyecto. Pulsa con el botón derecho del ratón en la raíz del proyecto y a continuación selecciona Insertar > Módulo.

Aquí debes pegar o introducir las macros que no se ejecutan mediante un evento, es decir, la gran mayoría de los códigos que se suelen encontrar en Internet.

Módulo estándar Excel

Solamente asegúrate de que la primera línea de la macro comienza con Sub y la última línea termina con End Sub.

 

Resumen

Como has visto, existen tres sitios donde introducir el código VBA:

  • Módulo de libro.
  • Módulo de hoja.
  • Módulo estándar.

Dependiendo de cuándo y cómo quieras que se ejecute la macro, deberás introducir o pegar el código en el lugar correspondiente.

Comparte el artículo si te ha parecido interesante y comenta cualquier duda.

¡Compartir es vivir!
Sergio
 

La destreza y el perfeccionismo quizá sean las dos virtudes que me permiten ayudar a mis clientes a facilitar las tareas administrativas de sus negocios.

Haz clic aquí para dejar un comentario 0 comentarios

Escribe una respuesta: