¿Qué es un módulo de VBA?

módulo de vba

¿Realmente es importante saber qué es un módulo? La respuesta es no. Pero es muy útil saber cómo se puede organizar la información dentro de VBA. Pero, ¿por qué es útil?. A la hora de hacer un pequeño programa en Excel con unas cuantas Macros puede ser bueno organizar la información en diferentes módulos.

¿Qué es un módulo?

Un módulo es dónde se escribe el código en VBA. Un proyecto de VBA es un conjunto de módulos (o uno sólo) dónde se escriben las diferentes macros y funciones de VBA. Los módulos nos permiten organizar el código de VBA en diferentes archivos dentro de VBA de manera rápida, fácil e intuitiva.

¿Cómo acceder a un módulo de VBA?

Para acceder a un módulo de VBA primero habrá que acceder al proyecto y después elegir el módulo que se quiere editar.

Para acceder al editor de VBA puedes hacer click en Alt + F11 y accederás a una pantalla como la siguiente.

VBA módulos

En esta pantalla, si hubiera más de un proyecto veríamos un listado a la izquierda de los posibles VBAProjects a elegir. Seleccionando uno de ellos podríamos ver después la carpeta módulo y haciendo click sobre uno de ellos entraríamos a ver el código del módulo seleccionado.

Ejemplo de módulo de VBA

Pongamos un ejemplo. Tenemos pensado hacer unas cuantas macros para un programita que estamos creando. Podrían ser la siguientes:

  • 1.Abrir un documento
  • 2.Limpiar cierta información
  • 3.Pegar información de una parte del documento a otra.
  • 4.Crear una nueva hoja con cierta información.
  • 5.Aplicar formato a la nueva hoja creada.
  • 6.Eliminar la información copiada.
  • 7.Eliminar la hoja que hemos creado.

Como vemos en el listado anterior, tenemos información de 2 o 3 tipos diferentes relacionadas con la actividad de nuestra hoja de Excel. Las macros de la 1 a la 3 pueden ser la de cargar datos. Las macros 4 y 5 serían de operar con la nueva información. Las macros 6 y 7 son las de dejar la hoja en su estado inicial.

Para mi en este caso sería útil tener 3 módulos (especie de carpetas donde se guarda la información.

Los módulos yo los organizaría de la siguiente manera:

  • 1.CARGAR
  • 2.OPERATIVA
  • 3.RESETEO

Este es un ejemplo pero depende de la cantidad de macros y la operativa que usemos pueden ser más o menos módulos.

Autor: Quique Arranz

Quique es un fanático del Excel desde que empezó a trabajar con ello hace unos pocos años. Adquirió su conocimiento a través de Google y de infinitas pruebas y más pruebas. Además, Quique es un entusiasta de su familia (mujer e hijos), del deporte y de la cerveza... no dudes en contactar con él para cualquier duda que tengas.

7 opiniones en “¿Qué es un módulo de VBA?”

  1. Es muy interesante y me llama mucho la atencion sobre Excel y VBA, conosco un poco, he estado buscando ayuda con un programa que hice, en donde me da un ERROR DE COMPILACION PROCEDIMIENTO DEMASIADO LARGO, he buscado como solucionarlo y no he encontrado nada claro, ni como hacer divisiones, ni como usar modulos. Me gustaria si es posible que me puedieran ayudar, gracias. La suscribcion es gratis?

    1. Hola Miguel, por supuesto que la subscripción a las newsletter son gratuitas. Recibirás en el correo que hayas informado alertas o/y enlaces a los nuevos artículos que se vayan publicando. En cuanto a la ayuda que comentas: publicamos artículos escritos de la manera más didáctica que encontramos y ofrecemos orientación en los comentarios a las preguntas de los lectores. Podríamos estudiar la posibilidad de tutorizar e incluso escribir programas pero tendría que ser bajo presupuesto. Si estás interesado en este tipo de servicios no dudes en escribirnos al correo de la página.
      En una próxima entrada explicaremos la estrategia para escribir código y evitar este tipo de errores. Te adelanto que habrá que dividir el código en procedimientos más pequeños cuyo tamaño dependerá sobre todo de la memoria del ordenador de trabajo.

  2. Siempre es mejor dividir lo más que se pueda en UNIDADES LOGICAS de código, es decir “En Módulos”.
    Porque es mucho más simple rastrear en caso de un error, y eventualmente hacer cosas nuevas.

    Saludos..

  3. Buena explicación, mi consulta es : si es mejor poner los códigos en diferentes módulos o escribir todo en un solo modulo separando los por ejemplo sub cargar () end sub después sub operativa() end sub y así sucesivamente.
    Saludos cordiales
    Jesús

    1. Hola Jesús,
      todo depende de las necesidades que tengas. Para mi, un procedimiento puede subdividirse en diferentes macros pero debería estar siempre en el mismo módulo… varios procedimientos complejos deberían estar en módulos diferentes… espero que esto aclare tú duda.
      un saludo!
      quique

Comentarios cerrados.