Una vez que nos decidimos a utilizar una variable en nuestro código VBA de Excel, aunque no es obligatorio, lo ortodoxo es declararla previamente. Esto es, decirle a Excel de forma explícita que la vamos a utilizar.
¿Cómo declarar una variable?
La forma por medio de la cual se declara una variable depende de varios factores. Uno de ellos es dónde la vamos a utilizar posteriormente (sólo en la macro actual o en otras macros). De momento nos vamos a referir a variables que se utilizan en una misma macro. Es decir, su vida y su ámbito de actuación es lo que tarda una macro en ejecutarse.
Una declaración de variable sería:
Dim Ventas As Double
Que significa:
Establecer Ventas como VariableTipoNúmeroDecimalDoble
Una vez declarada, la variable se puede utilizar asignándole previamente un valor, como en esta macro:
Sub Variable()
Dim Ventas As Double
Ventas = Hoja2.Range("A1").Value
MsgBox ("Las ventas mensuales han sido " & Ventas * 0.03)
Range("A2") = Ventas * 0.03
MsgBox ("El promedio de ventas diarias ha sido de " & Ventas / 20)
Range("A3") = Ventas / 20
End Sub
¿Qué tipos de datos puede representar una variable?
En el ejemplo anterior, era Double (tipo decimal que puede albergar valores con deimales desde +/- 5E-324 hasta 1.8E308 y nos ocupará 8 bytes en la memoria de nuestro ordenador) , pero por supuesto, existen otros que ocupan más o menos memoria y que tienen distintas características y posibilidades. Podemos ver un resumen en la web msdn de Microsoft.
¿Cómo declarar varias variables?
Podemos utilizar tres métodos:
El "extendido" sería declarar cada una de las variables en una línea. Por ejemplo:
Dim J As Variant
Dim H as Long
Dim N as Integer
El "comprimido" sería declarar todas las variables a la vez en una línea de código:
Dim J As Variant, H As Long, N As Integer
Con "signos", que sería sustituir "As XXXX" por un signo. Por ejemplo:
Dim MiVariable$ (declara MiVariable como una variable de tipo String (texto)