Sunteți pe pagina 1din 6

VISUAL BASIC CONCEPTOS BÁSICOS

A- Declaración de Variables en VBA

Cuando programamos en VBA frecuentemente necesitamos un repositorio para almacenar


el resultado de alguna operación. Las variables en VBA son utilizadas para guardar valores y
su tipo dependerá de la clase de dato que deseamos guardar dentro de ellas.

En VBA existen variables de tipo entero que almacenan números, variables de tipo doble
que también almacenan números pero con decimales, variables de tipo texto para guardar
una cadena de caracteres entre algunos otros tipos de variables. A continuación haremos
una revisión de cada uno de estos tipos.

Variables de tipo entero

Las variables de tipo entero son utilizadas para guardar números enteros. Debemos utilizar
la palabra clave Integer para declarar una variable de este tipo.

Dim x As Integer

x=6

En la primera instrucción estoy declarando la variable con el nombre “x” y estoy indicando
que será del tipo Integer. “Declarar una variable” significa avisar a Excel sobre la existencia
de dicho repositorio para guardar información. En la segunda instrucción asigno el valor 6 a
la variable “x”.

Variables de tipo doble

Las variables de tipo doble pueden almacenar números con el doble de precisión incluyendo
números decimales. La palabra clave para este tipo de variables es Double.

Dim x As Double

x = 3.1416

Aunque las variables de tipo doble pueden almacenar números enteros sin problema, no es
recomendable hacerlo porque estaremos desperdiciando espacio en la memoria del
ordenador. Es decir, el tamaño reservado para una variable doble es el adecuado para
guardar números decimales, si solo guardamos un número entero quedará especio sin
utilizar. Por lo tanto es recomendable utilizar siempre el tipo de variable adecuado para
cualquier número.

Variables de tipo texto

Una variable de tipo texto se declara con la palabra clave String. En el siguiente código
declararé la variable libro y posteriormente le asignaré un valor.
Dim libro As String

libro = "Programación en Excel"

B- Qué es un Inputbox en VBA?

Un Inputbox en VBA es un pop-up como el de la siguiente imagen en la que le pedimos

cierta información al usuario para que la introduzca

En este caso hemos usado un código muy sencillo que es el siguiente:

Sub Input_Box()

mi_variable = Application.InputBox("Introduzca su nombre", "Nombre")

End Sub

Como vemos en el pedacito de código anterior, el resultado de la pregunta lo

almacenaremos en una variable y esto será obligatorio.

Sintaxis

La sintaxis del Inputbox en VBA no es complicada pero tiene ciertas partes que merece la

pena desctacar:

Applicaiton.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextID, Type)

Donde las más comunes y útiles son las siguientes:

 Prompt: el texto que se mostrará en el pop-up. Es el único valor obligatorio


 Title: el título del pop-up que aparecerá en la parte superior.

 Default: el valor que mostrará por defecto el inputbox.

 Type: el tipo de valor que podemos usar que puede ser de tipo numérico (1), texto

(2), verdadero/falso (4), referencia a una celda (8), una matriz (64)…

En el caso de que el valor se deje vacío o no sea del tipo que hemos especificado VBA nos

mandará un error automáticamente, así que no hará falta comprobar el tipo de dato que

nos devuelve el inputbox en nuestro código VBA.

Ejemplos

Ejemplo 1: Inputbox que pide la edad de la persona

Sub Input_Box_ejemplo1()

mi_edad = Application.InputBox(prompt:="Indique su edad:", Type:=2)

End Sub

Ejemplo 2: Inputbox que pregunta si es correcto algo

Sub Input_Box_ejemplo2()

Correcto = Application.InputBox(prompt:="¿Eres mayor de edad?", Type:=4)

End Sub

En este caso, si damos a OK tendremos que haber escrito correctamente VERDADERO o

FALSO. En caso de no ser así nos devolverá un valor.

Ejemplo 3: Inputbox que pide el nombre de amigo y tiene otro nombre puesto por defecto.

Sub Input_Box_ejemplo3()
n_amigo = Application.InputBox(prompt:="Indica el nombre de un amigo", _

Default:="Quique", Type:=2)

End Sub

En la siguiente imagen vemos el resultado de este inputbox

El nombre que habíamos puesto en nuestro código aparece en el inputbox y seleccionado.

Ejemplo 4: Inputbox para seleccionar el valor de una celda

Sub Input_Box_ejemplo4()

celda_selec = Application.InputBox(prompt:="Seleccione una celda", Type:=8)

End Sub

Tal y como lo hemos escrito, el valor de la celda se guardará en la variable celda_selec pero

no el rango celda (como objeto de VBA). Para hacer (por ejemplo si queremos saber la fila y

la columna de la celda que se ha seleccionado) añadiremos un set antes de la línea de

código para crear el objeto rango.

Sub Input_Box_ejemplo4_b()

Set celda_selec = Application.InputBox(prompt:="Seleccione una celda", Type:=8)

End Sub
El bucle For-Next en VBA

En términos de programación, un bucle es una instrucción que nos permitirá ejecutar


repetidamente un conjunto de instrucciones hasta que se cumpla la condición que hayamos
especificado. Los bucles también son conocidos como ciclos.

La instrucción For-Next

El bucle For-Next es una de las instrucciones más útiles al programar en VBA. La sintaxis de
esta instrucción es la siguiente:

For inicialización de variable To límite

{Conjunto de instrucciones que se repetirán}

Next incrementar variable

 Inicialización de variable: Ya que la instrucción For Next repite un conjunto de


instrucciones un número de veces específico, debemos inicializar una variable que
irá contando cada una de las repeticiones. Es común encontrar la instrucción escrita
como For i = 1 lo cual indica que la variable i llevará la cuenta de las repeticiones que
deseamos que inicien en 1.
 Límite: Además de inicializar la variable que llevará la cuenta de las repeticiones,
debemos especificar un límite donde se detendrá el ciclo. Este límite es indicado con
la instrucción To. De esta manera, si deseamos hacer un bucle que vaya desde 1
hasta 5 la instrucción la escribiremos como For i = 1 To 5.
 Incrementar variable: El final del conjunto de instrucciones se indica con la
instrucción Next y que va seguida del nombre de la variable que lleva la cuenta para
incrementar su valor en uno. Así podemos terminar el bucle con la instrucción Next i.

Ejemplo de un bucle For-Next

A continuación un ejemplo muy sencillo de un bucle For-Next donde la única instrucción


que se repite es la de mostrar una ventana de diálogo con el valor de la variable i:

S-ar putea să vă placă și