Con Visual Basic for Ap­pli­ca­tio­ns, abreviado con las siglas VBA, puedes ocuparte de la au­to­ma­ti­za­ción de los flujos de trabajo en Excel. Así ahorrarás tiempo y te ase­gu­ra­rás de que tus datos se mantengan ac­tua­li­za­dos au­to­má­ti­ca­me­n­te.

Excel con Microsoft 365 para empresas y IONOS
El Office que ya conoces, pero mejorado

La potente apli­ca­ción de e-mail Exchange y las versiones más actuales de tus apli­ca­cio­nes favoritas de Office desde cualquier di­s­po­si­ti­vo.

¿Qué es el Excel VBA?

Las siglas VBA responde al concepto de “Visual Basic for Ap­pli­ca­tio­ns”, un lenguaje de pro­gra­ma­ción di­s­po­ni­ble para los usuarios de Microsoft Office en programas como Excel. VBA se de­sa­rro­lló en los años noventa para unificar los distintos lenguajes de macros de cada uno de los programas. Con VBA en Excel, puedes au­to­ma­ti­zar tareas ha­bi­tua­les y crear he­rra­mie­n­tas prácticas para la gestión de proyectos o la co­n­ta­bi­li­dad.

Al igual que otras apli­ca­cio­nes de Office, Excel está compuesto por di­fe­re­n­tes objetos, como hojas de cálculo, celdas o tablas. Las pro­pie­da­des y métodos de estos objetos se pueden controlar de forma manual o mediante pro­gra­ma­ción en VBA. Con el editor de VBA, integrado en la apli­ca­ción, puedes generar acciones au­to­ma­ti­za­das. Esto no es en absoluto co­m­pli­ca­do, puesto que cada uno de los módulos de código está ya definido. Tu única tarea será montar cada uno de los módulos de código para conseguir una solución pe­r­so­na­li­za­da. Estas so­lu­cio­nes, conocidas también como macros de Excel, facilitan la or­ga­ni­za­ción, el formateo o la im­po­r­ta­ción de datos, entre otros.

¿Cómo abrir VBA en Excel?

Antes de empezar con la pro­gra­ma­ción en VBA, necesitas abrir VBA en Excel. Puedes hacerlo uti­li­za­n­do el atajo de teclado [Alt] + [F11]. Esto abrirá au­to­má­ti­ca­me­n­te el editor.

Otra forma es a través de la barra de menús de Excel. Para ello, haz clic en la pestaña “Pro­gra­ma­dor” y luego en “Visual Basic” para abrir VBA en Excel. Si no ves la pestaña “Pro­gra­ma­dor“, accede a “Archivo” > “Opciones” > “Pe­r­so­na­li­zar cinta de opciones” para añadir pestañas a tu menú. En “Pestañas pri­n­ci­pa­les”, se­le­c­cio­na “Pro­gra­ma­dor”.

Imagen: Excel: añadir pestaña Desarrollador
Se­le­c­cio­na Pro­gra­ma­dor desde las pestañas pri­n­ci­pa­les para agregarla.
Nota

La guía aquí mostrada funciona para versiones de Excel a partir de Office 2016, así como para Microsoft 365.

Tutorial de VBA en Excel para pri­n­ci­pia­n­tes

Antes de crear un nuevo programa en Excel con Visual Basic, primero necesitas una es­tru­c­tu­ra básica, que luego co­m­ple­ta­rás con bloques de código.

Paso 1: una vez abierto el editor de VBA, haz clic en “Insertar” > “Módulo” para añadir uno nuevo.

Imagen: Excel: insertar módulo VBA
Haz clic en Visual Basic, luego en Insertar y después en Módulo.

Paso 2: introduce en el campo de entrada “Option Explicit” y “Option Base 1”. Esto permite el uso de los tipos de pro­ce­di­mie­n­to Sub y Function. Los Sub son programas que solo contienen comandos y no tienen un valor de retorno. Las Function, por otro lado, ofrecen valores de retorno, por lo que son adecuadas para cálculos ma­te­má­ti­cos. Las re­s­pue­s­tas del programa se muestran en forma de cuadros de diálogo.

Imagen: Excel: campo de entrada VBA
Escribe Option Explicit y Option Base 1 en el campo de entrada.

Uso de variables

En Visual Basic de Excel, las variables funcionan de manera similar a las ecua­cio­nes ma­te­má­ti­cas. No solo actúan como in­di­ca­do­res de valores, sino también como in­di­ca­do­res de se­cue­n­cias de ca­ra­c­te­res y de objetos. El uso de variables siempre merecerá la pena si los elementos se mencionan en más de una ocasión. En el código VBA, debes co­n­si­de­rar una variable como un tipo de datos es­pe­cí­fi­co. Para declarar ex­plí­ci­ta­me­n­te una variable, utiliza las si­guie­n­tes in­s­tru­c­cio­nes DIM: Dim [variable] As [tipo de datos].

Por ejemplo, con Dim datInicio As Date, VBA señala que debería generarse una variable de nombre “datInicio” con el tipo de dato “Fecha”.

Según el contenido de la variable, deberás escoger el tipo de dato correcto. A co­n­ti­nua­ción, en­co­n­tra­rás un resumen de los tipos de datos más uti­li­za­dos y de sus ca­ra­c­te­res de de­cla­ra­ción de tipos:

  • Variant: puede contener cualquier tipo de dato como, por ejemplo, valores numéricos, se­cue­n­cias de ca­ra­c­te­res y valores actuales o fechas. Se indicará au­to­má­ti­ca­me­n­te una variante si no se declara ex­plí­ci­ta­me­n­te el tipo de dato. Ca­ra­c­te­res de de­cla­ra­ción de tipos: no definido.
  • Integer: se utiliza con números enteros que tienen un valor de entre -32 768 y 32 767. Ca­ra­c­te­res de de­cla­ra­ción de tipos: %()
  • Long: se utiliza con números enteros que van desde -2 147 483 648 hasta 2 147 483 647. Ca­ra­c­te­res de de­cla­ra­ción de tipos: &
  • Double: incluye todos los números con punto flotante de precisión doble desde más/menos 1,79 10^308. Ca­ra­c­te­res de de­cla­ra­ción de tipos: #
  • Boolean: se trata ex­clu­si­va­me­n­te de variables ve­r­da­de­ras o falsas. Se muestran como: True o False o #TRUE# o #FALSE#
  • String: comprende se­cue­n­cias de ca­ra­c­te­res de longitud fija o variable. Ca­ra­c­te­res de de­cla­ra­ción de tipos: $
  • Date: se utiliza para datos de fecha y hora. Se pueden in­tro­du­cir horas desde las 00:00:00 (media noche) hasta las 23:59:59.9999999. El formato de la fecha es M/D/AAA o AAAA-MM-DD.

Comandos VBA más uti­li­za­dos

In­s­tru­c­ción bucle Do…Loop

Do
Comandos
Condición Loop [While/Until]

Con el bucle Do se llevan a cabo comandos que deben repetirse a menudo hasta que se cumpla una de­te­r­mi­na­da condición. Con “While”, el bucle se repite hasta que la condición sea “False”. Con “Until”, el bucle se repite hasta que la condición sea “True”.

In­s­tru­c­ción For…Next

For
Variable = [valor inicial] To Step [valor]
Comando
Next Variable

Con el bucle For, las in­s­tru­c­cio­nes se repetirán tantas veces como se indique. Se inicia cuando la variable alcanza el valor inicial y se aumenta el valor “Step” hasta alcanzar el valor límite.

In­s­tru­c­ción If…Then…Else

If [condición1] Then
Comando1
Elseif [condición2] then
Comando2
Else
Comando3
End if

La in­s­tru­c­ción If ejecuta una serie de in­s­tru­c­cio­nes que de­pe­n­de­rán de la exactitud de una condición. Si en el código anterior la condición1 se cumple, entonces el comando1 se ejecutará au­to­má­ti­ca­me­n­te. Si no se cumple, se co­m­pro­ba­rá si se cumple la condición2. En tal caso, se ejecutará el comando2. Si ninguna de las co­n­di­cio­nes se cumple, se activará el comando3.

Consejo

Trabajar de forma eficiente con Excel no solo se consigue mediante la pro­gra­ma­ción VBA, sino también uti­li­za­n­do los atajos de teclado de Excel.

Pro­gra­ma­ción VBA: ejemplo práctico

La mejor manera de aprender VBA en Excel es pra­c­ti­ca­n­do con ejemplos. En el siguiente, hemos utilizado la sencilla in­s­tru­c­ción If…Then…Else:

Imagen: Excel: ejemplo VBA
Hoja de Excel con valores de ejemplo.

Mediante una macro de Excel, se mostrará si el candidato 142 en A2 ha aprobado un examen. Para aprobar, debe alcanzar al menos 60 puntos.

Imagen: Excel: función VBA con If-Else
Introduce el código para el test If y haz clic en el botón de ejecutar.

El código VBA If Range("b2").Value >= 60 Then Range("c2").Value = "Sí" establece que, si la condición se cumple, la celda C2 debería co­m­ple­tar­se con “Sí”. Ahora, pulsa en el botón de re­pro­du­cir y, en la siguiente ventana, en “Ejecutar”. Esto hará que la pro­gra­ma­ción VBA se ponga en marcha y que la celda C2 se complete au­to­má­ti­ca­me­n­te:

Imagen: Excel: ejecutar macro
Ejecuta la prueba If desde el cuadro de diálogo de las macros.
Imagen: Respuesta automática en C2
Tras ejecutar la macro, verás la respuesta au­to­má­ti­ca en C2.

Este es un ejemplo muy básico, diseñado para pro­po­r­cio­nar una in­tro­du­c­ción a Visual Basic en Excel. Puedes encontrar muchos otros ejemplos en Internet para practicar.

HiDrive Cloud Storage
Store and share your data on the go
  • Store, share, and edit data easily
  • Backed up and highly secure
  • Sync with all devices
Ir al menú principal