¿Qué es VBA?

Con Visual Basic for Applications, abreviado con las siglas VBA, puedes ocuparte de la automatización de los flujos de trabajo en Excel. Así ahorrarás tiempo y te asegurarás de que tus datos se mantengan actualizados automáticamente.

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

Potente aplicación de e-mail Exchange y las versiones más actuales de tus aplicaciones favoritas de Office desde cualquier dispositivo. Empieza ahora con nuestro servicio de configuración gratuito.

¿Qué es el Excel VBA?

Las siglas VBA responde al concepto de “Visual Basic for Applications”, un lenguaje de programación disponible para los usuarios de Microsoft Office en programas como Excel. VBA se desarrolló en los años noventa para unificar los distintos lenguajes de macros de cada uno de los programas. Con VBA en Excel, puedes automatizar tareas habituales y crear herramientas prácticas para la gestión de proyectos o la contabilidad.

Al igual que otras aplicaciones de Office, Excel está compuesto por diferentes objetos, como hojas de cálculo, celdas o tablas. Las propiedades y métodos de estos objetos se pueden controlar de forma manual o mediante programación en VBA. Con el editor de VBA, integrado en la aplicación, puedes generar acciones automatizadas. Esto no es en absoluto complicado, 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 personalizada. Estas soluciones, conocidas también como macros de Excel, facilitan la organización, el formateo o la importación de datos, entre otros.

¿Cómo abrir VBA en Excel?

Antes de empezar con la programación en VBA, necesitas abrir VBA en Excel. Puedes hacerlo utilizando el atajo de teclado [Alt] + [F11]. Esto abrirá automáticamente el editor.

Otra forma es a través de la barra de menús de Excel. Para ello, haz clic en la pestaña “Programador” y luego en “Visual Basic” para abrir VBA en Excel. Si no ves la pestaña “Programador“, accede a “Archivo” > “Opciones” > “Personalizar cinta de opciones” para añadir pestañas a tu menú. En “Pestañas principales”, selecciona “Programador”.

Excel: añadir pestaña Desarrollador
Selecciona Programador desde las pestañas principales 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 principiantes

Antes de crear un nuevo programa en Excel con Visual Basic, primero necesitas una estructura básica, que luego completará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.

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 procedimiento 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 matemáticos. Las respuestas del programa se muestran en forma de cuadros de diálogo.

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 ecuaciones matemáticas. No solo actúan como indicadores de valores, sino también como indicadores de secuencias de caracteres 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 considerar una variable como un tipo de datos específico. Para declarar explícitamente una variable, utiliza las siguientes instrucciones 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 continuación, encontrarás un resumen de los tipos de datos más utilizados y de sus caracteres de declaración de tipos:

  • Variant: puede contener cualquier tipo de dato como, por ejemplo, valores numéricos, secuencias de caracteres y valores actuales o fechas. Se indicará automáticamente una variante si no se declara explícitamente el tipo de dato. Caracteres de declaración de tipos: no definido.
  • Integer: se utiliza con números enteros que tienen un valor de entre -32 768 y 32 767. Caracteres de declaración de tipos: %()
  • Long: se utiliza con números enteros que van desde -2 147 483 648 hasta 2 147 483 647. Caracteres de declaración de tipos: &
  • Double: incluye todos los números con punto flotante de precisión doble desde más/menos 1,79 10^308. Caracteres de declaración de tipos: #*
  • Boolean: se trata exclusivamente de variables verdaderas o falsas. Se muestran como: True o False o #TRUE# o #FALSE#
  • String: comprende secuencias de caracteres de longitud fija o variable. Caracteres de declaración de tipos: $
  • Date: se utiliza para datos de fecha y hora. Se pueden introducir 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 utilizados

Instrucció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 determinada 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”.

Instrucción For…Next

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

Con el bucle For, las instrucciones 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.

Instrucción If…Then…Else

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

La instrucción If ejecuta una serie de instrucciones que dependerán de la exactitud de una condición. Si en el código anterior la condición1 se cumple, entonces el comando1 se ejecutará automáticamente. Si no se cumple, se comprobará si se cumple la condición2. En tal caso, se ejecutará el comando2. Si ninguna de las condiciones se cumple, se activará el comando3.

Consejo

Trabajar de forma eficiente con Excel no solo se consigue mediante la programación VBA, sino también utilizando los atajos de teclado de Excel.

Programación VBA: ejemplo práctico

La mejor manera de aprender VBA en Excel es practicando con ejemplos. En el siguiente, hemos utilizado la sencilla instrucción If…Then…Else:

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.

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 completarse con “Sí”. Ahora, pulsa en el botón de reproducir y, en la siguiente ventana, en “Ejecutar”. Esto hará que la programación VBA se ponga en marcha y que la celda C2 se complete automáticamente:

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

Este es un ejemplo muy básico, diseñado para proporcionar una introducción a Visual Basic en Excel. Puedes encontrar muchos otros ejemplos en Internet para practicar.

HiDrive
Almacena y comparte tus datos
  • Almacena, comparte y edita archivos fácilmente
  • Centros de datos europeos con certificación ISO
  • Alta seguridad de los datos, conforme con el RGPD
¿Le ha resultado útil este artículo?
Page top