¿Qué es VBA?
VBA son las siglas de “Visual Basic for Application”, 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. VBA para Excel te permite automatizar los flujos de trabajo repetitivos y generar herramientas prácticas para la gestión de proyectos o la contabilidad. La programación VBA en Excel facilita el intercambio de datos, tablas y diagramas entre los distintos programas de Microsoft 365 como Excel, Word o PowerPoint.
- Domina el mercado con nuestra oferta 3x1 en dominios
- Tu dominio protegido con SSL Wildcard gratis
- 1 cuenta de correo electrónico por contrato
¿Cómo funciona VBA?
El lenguaje de programación VBA está disponible en Excel desde la versión 95, y aprenderlo resulta sencillo incluso para principiantes en materia de programación gracias a los numerosos tutoriales de VBA que pueblan la red. Al igual que cualquier otro programa de Office, Excel también se compone de distintos objetos como, por ejemplo, hojas de trabajo, celdas o tablas. Los métodos y propiedades de estos objetos se pueden controlar bien de forma manual, bien mediante la programación VBA si lo necesitas. Si tienes que repetir las mismas tareas una y otra vez, la programación Visual Basic de Excel te permitirá ahorrar mucho tiempo. Esto se debe a que VBA te permite crear, seleccionar o eliminar objetos de forma automática con solo dar la orden.
¿Cómo sucede esto exactamente? El editor VBA integrado en el programa te ayuda a generar tareas automatizadas, lo que no es en absoluto complicado, puesto que cada uno de los módulos de código está ya definido. Esto significa que prácticamente todas las operaciones estándar tienen un código preparado. Tu única tarea será montar cada uno de los módulos de código para conseguir una solución personalizada. Esas soluciones, también conocidas como macros de Excel, facilitan la organización, el formateo o la importación de datos. Para entender el código VBA y combinar los módulos correctamente, necesitarás formarte.
Excel VBA: tutorial para la estructura básica
Antes de crear un nuevo programa en Excel con Visual Basic, necesitarás tener una estructura básica que después completarás con los módulos de código. En el breve tutorial de VBA a continuación, te explicamos paso a paso cómo programar una sencilla macro en Excel.
- Abre el editor VBA e inserta un nuevo módulo. Si la opción “Desarrollador” no te aparece por defecto, haz clic en “Archivo” -> “Opciones” -> “Personalizar cinta de opciones”. Debajo de “Pestañas principales”, selecciona la opción “Desarrollador” o “Programador” y haz clic en “Aceptar”.
- Cuando te aparezca la pestaña “Desarrollador”/ Programador”, pincha sobre ella y escoge a continuación la opción “Visual Basic”. Cuando el editor VBA se haya abierto, pulsa en “Insertar Módulo”.
- A continuación, escribe “Option Explicit” y “Option Base 1” en el campo de entrada. Esto permite introducir los tipos de procedimiento subs y functions. Los subs son programas que solo constan de comandos. En este caso, no hay ningún valor de retorno. Estos valores de retorno los obtendrás al insertar funciones, que, son aptas para realizar cálculos matemáticos por este motivo. Las respuestas del programa aparecerán en forma de cuadros de diálogo.
Utilizar variables
En Visual Basic para Excel, las variables cumplen la misma función que en las ecuaciones matemáticas. Sin embargo, no solo sirven 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 tipo de dato. Para una declaración explícita, utiliza las siguientes instrucciones DIM: Dim [variable] As [tipo de archivo].
Por ejemplo, con Dim datBeginn As Date, VBA señala que debería generarse una variable de nombre “Beginn” 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.
Los comandos más comunes en VBA
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.
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 para Excel es practicando con ejemplos. En el siguiente, hemos utilizado la sencilla instrucción If…Then...Else:
La macro de Excel debería mostrarnos si el candidato 142 de la casilla A2 ha aprobado el examen. Para aprobar, debe haber sacado al menos 60 puntos.
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:
Este es un ejemplo muy sencillo para hacerse una idea de las posibilidades de Visual Basic en Excel. En Internet encontrarás numerosos ejemplos de uso con los que podrás practicar.
- Creador de páginas web rápido e intuitivo
- Imágenes y textos instantáneos con SEO optimizado por IA
- Dominio, SSL y buzón de correo electrónico incluidos