Contenido

“Visual Basic de Excel”


 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.

  1. 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”.
  1. 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”.
  1. A continuación, escribe “Option Explicit” y “Option Base 1” en el campo de entrada. Esto permite introducir los tipos de procedimiento subs 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 falsasSe 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.

 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 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.

Comentarios