Visual Basic para Aplicaciones (VBA) es el lenguaje de programación común a todas las aplicaciones del paquete Microsoft Office 2016 (Word, Access, Excel, Outlook y PowerPoint).

Objetivos

El lenguaje VBA permite:

  • Automatizar acciones repetitivas: con VBA puedes 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...) 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ás automatizar la creación de estadísticas a partir de tus 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, puedes modificar el tipo de fuente por defecto a partir de las propiedades StandardFont (fuente) y StandardFontsize (tamaño de fuente) del objeto Application.
  • Comunicar Excel con otras aplicaciones de Microsoft Office: VBA permite intercambiar información entre las aplicaciones de Office usando objetos específicos propios de cada uno. Por ejemplo, puedes insertar una tabla o un gráfico de Excel en un archivo de Word, crear mensajes de Outlook con un archivo de Excel adjunto, etc.

Ejm

Application.StandardFont = «Arial»
Application.StandardFontSize = «10»

Definiciones

Veamos algunas definiciones con las que vamos a trabajar con el lenguaje VBA.

Proyecto

Cada libro abierto en Excel tiene asociado un proyecto que contiene todos los módulos de código VBA agrupados en categorías.

Módulo

Los módulos contienen las macros grabadas y sus propios procedimientos y funciones escritos en VBA. Los módulos se pueden exportar como archivos independientes para luego ser importados en otros libros.

Procedimiento

Los procedimientos son subprogramas escritos en VBA. Cada macro grabada genera un procedimiento con el mismo nombre de la macro. De la misma manera, puedes crear procedimientos usando la instrucción Sub.

Función

Las funciones son procedimientos que devuelven un valor. Para crear una función, se debe utilizar la instrucción Function.