Introducción a VBA (Visual Basic for Applications)

Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar aplicaciones Windows y que se incluye en varias aplicaciones Microsoft. VBA permite a usuarios y programadores ampliar la funcionalidad de programas de Microsoft Office. Visual Basic para Aplicaciones es un subconjunto casi completo de Visual Basic 5.0 y 6.0.

Microsoft VBA viene integrado en aplicaciones de Microsoft Office, como Word, Excel y Access, Powerpoint. Prácticamente cualquier cosa que se pueda programar en Visual Basic 5.0 o 6.0 se puede hacer también dentro de un documento de Office, con la sola limitación que el producto final no se puede compilar separadamente del documento, hoja o base de datos en que fue creado; es decir, se convierte en una macro (o más bien súper macro). Esta macro puede instalarse o distribuirse con sólo copiar el documento, presentación o base de datos. (Definición tomada de Wikipedia)

¿Que puede hacerse con VBA?

Prácticamente todo… y más rápido, de hecho a medida que las utilices iras encontrando muchas aplicaciones para VBA, pero por ahora te daré algunas ideas:

  1. Insertar textos: En caso de que existan textos que ingreses repetidamente como el nombre de la empresa, números telefónicos, direcciones, etc.
  2. Automatizar tareas que hagas frecuentemente:.
  3. Desarrollar funciones propias (funciones como SUM, AVG, etc, claro pero que realicen otras tareas)
  4. Crear aplicaciones con formularios, botones y todo eso.
  5. Realizar cálculos complejos.
  6. Validar datos.

Seguridad en las macros.

Recuerdan que dijimos que VBA podría realizar prácticamente cualquier cosa que Visual Basic 5.0 ó 6.0, bueno es tan poderoso que también podría causar serios daños a tu computadora, como borrar archivos, robar información, incluso arruinar por completo tu sistema operativo. Es por eso que la seguridad de macros en Excel juega un papel importante para prevenir estos problemas.

Una instalación típica de Excel tiene todas las macros des habilitadas con notificación, esto significa que no se ejecutara ninguna macro que no este firmada con un certificado digital válido, a menos que des tu autorización, esta autorización es recordada por Excel y no volverá a solicitarla para el mismo documento (Esto aplica solo para la versión 2010, la 2007 volverá a solicitar la confirmación cada vez que se abra.)

Es recomendable que dejes esta opción de seguridad como esta y des tu autorización solo a documentos que provienen de una fuente confiable para ti.

Tu primer programa en VBA (¡Hola mundo!)

En el libro “El Lenguaje de Programación C”, Kernighan y Ritchie introdujeron al lenguaje C utilizando un sencillo programa que mostraba un saludo por la pantalla que decía “¡Hola mundo!”. Desde entonces se hizo tradición empezar con cualquier lenguaje de programación con el ejemplo del “Hola mundo” y nosotros vamos a honrar esta tradición.

Primero debes activar la cinta “Programador”, si no sabes como hacerlo puedes leer este artículo, luego selecciona la cinta programador y das clic sobre el botón “Visual Basic”.

Al hacer esto se abrirá un editor de código, como el que se muestra a continuación:

Ingresar codigo en vba

Ahora damos doble clic sobre “ThisWorkbook” y luego en la ventana derecha (sección de código) escribimos nuestro programa:

Sub Mensaje()
MsgBox (“¡Hola mundo!”)
End Sub

¡Listo!, ahora hemos creado nuestro primer programa en VBA, para probarlo podemos presionar la tecla F5 o presionar el botón “Ejecutar” (Triangulo verde en la barra de herramientas), también podemos ejecutarlo desde el documento de Excel con el botón “Macros”.

Explicación del programa.

La sección del código “Sub …. End sub” indica el inicio y fin de una sub rutina, en este caso nuestro programa, la palabra “Mensaje” es el nombre de nuestro programa, este nombre debe cumplir con estos requisitos:

  1. Contener solo letras, números y guion bajo ( _ ), los espacios no son permitidos.
  2. Comenzar con una letra
  3. Finalizar con paréntesis abiertos y cerrados.

El comando “MsgBox”, muestra un mensaje en pantalla, el texto a mostrar debe estar encerrado entre paréntesis y comillas dobles.


Quizá te interesen estos otros articulos: