Presentación
Presentación del lenguaje VBA
Visual Basic para Aplicaciones (VBA) es el lenguaje de programación común a todas las aplicaciones del paquete Microsoft Office (Word, Access, Excel, Outlook y PowerPoint), que están disponibles en la suite Office 2024 y en Microsoft 365.
1. Objetivos del lenguaje VBA
Trabajando en Excel, el lenguaje VBA permite:
-
automatizar acciones repetitivas: con VBA puede realizar en una única operación todo un grupo de comandos de Excel;
-
interactuar sobre los libros de Excel: el contenido y la presentación de todos los elementos incluidos en un libro (hojas, celdas, gráficos, etc.) se pueden modificar a través de código VBA;
-
crear formularios personalizados: los formularios son los cuadros de diálogo compuestos por controles ActiveX (cuadros de texto, listas desplegables, etc.), a los que se les puede asociar código VBA. Los formularios permiten crear interfaces amigables para la entrada o la salida de información;
-
generar automáticamente tablas dinámicas y gráficos: así podrá automatizar la creación de estadísticas a partir de sus datos de Excel (o de los datos de la empresa exportados a Excel);
-
personalizar la interfaz de Excel: la cinta de opciones de Office es totalmente personalizable y se pueden asociar macros creadas en lenguaje VBA a los comandos de la cinta o a la barra de herramientas de acceso rápido;
-
modificar las opciones de Excel: a cada opción de Excel le corresponde una propiedad de un objeto VBA. Por ejemplo, puede modificar el tipo de fuente por defecto a partir de las propiedades StandardFont (fuente) y StandardFontsize (tamaño de fuente) del objeto Application;
Ejemplo:
Application.StandardFont = «Arial»
Application.StandardFontSize = «10»...
Las macros de Excel
1. Mostrar la pestaña Programador en la cinta de opciones
Para escribir macros, ejecutar macros grabadas o crear aplicaciones de Excel, debe mostrar la pestaña Programador de la siguiente manera:
Haga clic en la pestaña Archivo y luego en Opciones.
Seleccione la categoría Personalizar cinta de opciones.
Dentro de Personalizar cinta de opciones, en la lista Pestañas principales, marque la opción Programador.
Haga clic en el botón Aceptar: la pestaña Programador se añadirá a la cinta de opciones de Excel, a la derecha de la pestaña Vista.
2. Descripción de la pestaña Programador

a. Grupo Código
|
Nombre del botón |
Descripción |
![]() |
Abre el entorno de desarrollo. El método abreviado de teclado es [Alt][F11]. |
![]() |
Muestra la lista de macros. El método abreviado de teclado es [Alt][F8]. |
![]() |
Comienza la grabación de una macro. |
![]() |
Permite usar referencias relativas a la primera celda seleccionada. |
![]() |
Personaliza la configuración de seguridad de las macros. |
b. Grupo Complementos
|
Nombre del botón |
Descripción |
![]() |
Permite descargar complementos de Office. |
![]() |
Permite seleccionar macros grabadas como complementos. |
![]() |
Permite seleccionar complementos COM (librerías de funciones complementarias). |
c. Grupo Controles
|
Nombre del botón |
Descripción |
![]() |
Permite insertar controles (formularios o ActiveX) en Excel. |
![]() |
Activa o desactiva el modo Diseño. En el modo Diseño se pueden seleccionar y modificar los controles ActiveX, pero no se pueden ejecutar. |
![]() |
Muestra las propiedades del objeto de Excel seleccionado (hoja o control). |
![]() |
Permite acceder directamente al código asociado al control seleccionado. |
![]() |
Ejecuta un cuadro de diálogo personalizado. |
3. Grabar una macro
a. Grabar la primera macro
Veamos cómo crear una macro que aplique un borde y un relleno en las celdas seleccionadas.
Seleccione una rango de celdas.
Haga clic en el botón
(Grabar macro)
en la pestaña Programador o en
la barra de estado.
En el cuadro de diálogo que aparece, escriba el nombre de la macro, su descripción e indique, si lo desea, el método abreviado de teclas asociado.

Haga clic en el botón Aceptar para iniciar la grabación.
Realice en Excel las operaciones que desee grabar. Por ejemplo, aplique un relleno y un borde al rango actualmente seleccionado.
Haga clic en el botón
(Detener grabación)
de la pestaña Programador para
terminar la grabación (también puede usar el mismo
botón en la barra de estado).
b. Ejecutar una macro
Para ejecutar una macro desde Excel:
Haga clic en el botón
de la pestaña Programador o pulse el método abreviado
de teclas [Alt][F8] y luego
haga doble clic en el nombre de la macro que desea ejecutar.
O pulse la combinación de teclas asociada a la macro.
Para visualizar la información relativa a una macro (método abreviado de teclado y descripción), seleccione la macro en la lista y haga clic en el botón Opciones.
Para detener la ejecución de una macro, pulse [Escape] o [Ctrl][Pausa].
c. Grabar una macro con referencias relativas
Si graba una macro en modo de referencias absolutas (modo por defecto), los rangos de celdas referenciados en las operaciones de selección, desplazamientos... serán fijos. Por ejemplo: Range("A2") designa la celda A2.
Si graba una macro en modo de referencias relativas, los rangos de celdas serán expresados en relación con la posición de la primera celda activa. Por ejemplo: ActiveCell.range("A2") designa la celda ubicada bajo la celda activa, ActiveCell.range("B1") designa la celda ubicada a la derecha de la celda activa.
ActiveCell.range("A1") siempre hace referencia a la primera celda activa. A1 se puede considerar la referencia relativa a la primera celda activa.
Para grabar una macro con referencias relativas:
Haga clic en el botón
(Usar referencias relativas)
de la pestaña Programador: el
botón quedará activo (se verá destacado).
(Usar referencias relativas),
este quedará desactivado y las macros se grabarán
con referencias absolutas.Ejemplo
La misma secuencia de operaciones se ha registrado en dos macros: la primera (RefRelativa) se grabó con la opción referencias relativas; la segunda (RefAbsoluta), con la opción referencias absolutas.
La secuencia de operaciones es la siguiente:
- Seleccionar un rango de celdas.
- Desplazar el rango dos filas hacia abajo y una columna a la derecha.
Sub RefRelativa()
‘ Referencias relativas
ActiveCell.Range(”A1:B7").Select
Selection.Cut Destination:=ActiveCell.Offset(2, 1).Range(“A1:B7")
ActiveCell.Offset(2, 1).Range(”A1:B7").Select
End Sub
___________________________________________________________________
Sub RefAbsoluta()
‘ Referencias absolutas
Range(“B2:C8").Select
Selection.Cut Destination:=Range(”C4:D10")
Range(“C4:D10").Select
End Sub
d. Definir el lugar de almacenamiento de una nueva macro
Para definir el lugar de almacenamiento de una nueva macro:
Haga clic en el botón
de la pestaña Programador o pulse el método abreviado [Alt][F8].
Abra la lista Macros en y seleccione el libro en el que desea crear la macro.

Si elige Libro de macros personal, la macro se grabará en el libro personal.xlsb; la macro será accesible desde todos los libros Excel.
e. Eliminar una macro
Para eliminar una macro:
Haga clic en el botón
de la pestaña Programador o pulse el método abreviado [Alt][F8].
Seleccione la macro que desea eliminar y haga clic en el botón Eliminar. Haga clic en el botón Sí para confirmar la eliminación.
f. Guardar un libro con macros
Los libros que contienen macros tienen la extensión xlsm (en vez de xslx) y su icono...
Asignar una macro
Una macro se puede asociar a los siguientes elementos:
-
Comandos personalizados en la cinta de opciones.
-
Botones de comando en la barra de herramientas de acceso rápido.
-
Controles u objetos insertados en las hojas de Excel (botones de comando, imágenes, etc.).
1. Acceso a una macro desde la cinta de opciones de Office
Microsoft Office ofrece la posibilidad de personalizar la cinta de opciones: puede agregar, eliminar o reasignar las pestañas, grupos y comandos de la cinta para disponer de aplicaciones personalizadas.
Para personalizar la cinta de opciones:
Haga clic en el botón derecho del ratón sobre la cinta y seleccione la opción Personalizar la cinta de opciones.
o
Haga clic en la pestaña Archivo, luego en Opciones y seleccione la categoría Personalizar cinta de opciones.
Aparecerá el siguiente cuadro:

Para insertar macros en una nueva pestaña:
Haga clic en el botón Nueva pestaña. Se agregará una pestaña y un grupo a la lista de pestañas principales.
Para cambiar el nombre de la pestaña y del grupo que acaba de crear, haga clic en el botón Cambiar nombre. El menú contextual también le permite agregar pestañas o grupos.
Despliegue las opciones dentro de Comandos disponibles en: (a la izquierda y arriba) y seleccione Macros. Aparecerá la lista de macros disponibles.
Seleccione la macro que desea agregar al grupo y haga clic en Agregar.
Para modificar el nombre y el icono de la macro haga clic en el botón Cambiar nombre.
También puede cambiar el orden de las pestaña, grupos y comandos con las flechas situadas a la derecha de la lista.
Ejemplo de personalización:

Para confirmar esta personalización, haga clic en Aceptar. La nueva pestaña aparecerá en la cinta de opciones de Office:

Usted puede restablecer la cinta de opciones en cualquier momento desde el cuadro de diálogo para personalizar la cinta, haciendo clic en el botón Restablecer (puede restablecer toda la cinta o solamente una pestaña). También puede importar una cinta personalizada haciendo clic en el botón Importar o exportar.
2. Asociar una macro a un icono de la barra de herramientas de acceso rápido
También puede insertar un comando para ejecutar una macro en la barra de herramientas de acceso rápido:
Haga clic en el botón derecho del ratón sobre la cinta de opciones y seleccione la opción Personalizar barra de herramientas de acceso rápido.
En la lista desplegable Comandos disponibles en situada arriba y a la izquierda, seleccione Macros. Aparecerá la lista de macros disponibles.
Seleccione la macro que desee y haga clic en el botón Agregar. La macro pasará a la lista de la derecha.

Haga clic en el botón Modificar... para seleccionar un nuevo icono para la macro.
Puede modificar el orden de los comandos con las flechas ubicadas a la derecha de la lista.
Puede seleccionar un libro en la lista desplegable Personalizar barra de herramientas de acceso rápido situada arriba y a la derecha. En ese caso las modificaciones solamente afectarán al libro indicado.
Gracias a la casilla de selección Mostrar siempre...
El entorno de desarrollo VBE
VBE (Visual Basic Editor) es el entorno en el que puede escribir, modificar y probar su código VBA. Este entorno se llama también IDE (Integrated Development Environment) o editor de VBA.
El entorno VBE pone a su disposición numerosas herramientas para facilitar la programación y la puesta a punto de su código VBA: herramientas de depuración, introducción asistida, explorador de objetos, etc.
1. Acceso al entorno VBE
Para acceder al entorno VBE desde Excel, haga
clic en el botón
de la pestaña Programador o pulse la combinación [Alt][F11].
2. Cerrar el entorno VBE
Para cerrar el entorno VBE y volver a Excel:
Haga clic en el aspa roja ubicada arriba a la derecha de la ventana principal del entorno VBE.
o
Haga clic en la opción Cerrar y volver a Microsoft Excel del menú Archivo.
3. Volver a Excel
Para volver a Excel sin cerrar el entorno VBE, use cualquiera de estas dos posibilidades:
Haga clic en el icono de la barra de herramientas Estándar.
Pulse el método abreviado [Alt][F11].
4. Descripción del entorno VBE
Todas las ventanas del entorno VBE se pueden visualizar desde el menú Ver.

(1) La barra de herramientas Estándar

|
1 Ver a Microsoft Excel 2 Insertar UserForm 3 Guardar libro 4 Cortar 5 Copiar 6 Pegar 7 Buscar 8 Deshacer 9 Rehacer |
10 Ejecutar Sub 11 Interrumpir 12 Restablecer 13 Modo de diseño 14 Explorador de proyectos 15 Ventana de Propiedades 16 Examinador de objetos 17 Cuadro de herramientas 18 Ayuda de Microsoft Visual Basic 19 Posición actual en la ventana de código |
(2) El explorador de proyectos
Cada libro abierto en Excel tiene asociado un proyecto. El explorador de proyectos permite ver todos los proyectos y todos los módulos de cada proyecto según una estructura en árbol. Los módulos se agrupan en cuatro categorías:
-
Módulos asociados a objetos de Excel (libro y hojas).
-
Módulos asociados a formularios.
-
Módulos estándares.
-
Módulos de clase.
Cada módulo puede contener muchos procedimientos.
(3) La ventana Propiedades
Muestra las propiedades relativas al libro, a las hojas de cálculo, a las hojas gráficas y a los formularios.
(4) La ventana Código
En esta ventana aparecen dos zonas con listas desplegables:
-
La zona objeto (10) muestra la lista de los objetos del módulo.
-
La zona procedimiento (11) muestra los procedimientos o los eventos del objeto seleccionado en la zona objeto. Los eventos ya usados aparecen en negrita.
(5) Instrucciones que se completan automáticamente
Cuando se escribe el nombre de un objeto seguido de un punto, aparece automáticamente una lista desplegable con los métodos, propiedades y constantes disponibles para ese objeto.
Si la lista no aparece, seleccione Opciones en el menú Herramientas y marque la casilla Lista de miembros automática de la pestaña Editor.
(6) Ventana Inmediato
Contiene todos los valores de las variables que hayan sido definidas previamente...
Configuración del editor VBA
1. Configuración de la tipografía
Las palabras clave, las funciones y las instrucciones VBA aparecen en azul; los objetos, métodos y propiedades, en negro, y los comentarios, en verde. Las instrucciones que contienen errores se destacan en rojo.
Para modificar el estilo (color, tipo de letra, tamaño) de los diferentes tipos de código, seleccione Opciones en el menú Herramientas y haga clic en la pestaña Formato del editor.

2. Configuración de la introducción de código
Existen diferentes herramientas que facilitan la introducción y la actualización del código VBA: por ejemplo, la comprobación automática de la sintaxis, la declaración obligatoria de las variables, las instrucciones que se completan automáticamente, etc.
Para activar estas opciones, seleccione Opciones en el menú Herramientas y haga clic en la pestaña Editor.

3. Manejo de errores
Las opciones de interceptación de errores permiten establecer si la ejecución del código se interrumpirá al ocurrir un error de ejecución.
Para activar esta opción, seleccione Opciones en el menú Herramientas y haga clic en la pestaña General.

Si su código VBA incluye una gestión de errores, seleccione la opción Interrumpir en errores no controlados o no se tendrán...








