domingo, 19 de noviembre de 2017

Consejos para el uso de variables en VBA de Excel

Primero que nada debemos recordar que las variables son elementos que tienen como función hacer de contenedores polivalentes que pueden albergar distintos valores o datos. Dichos valores pueden ser constantes o no. Las variables en VBA son utilizadas para guardar valores y su tipo dependerá de la clase de dato que deseamos guardar dentro de ellas.

Segundo, es bueno recordar que si bien no es obligatorio declarar las variables, al no hacerlo estamos consumiendo más recursos de los necesarios y por lo tanto ocupando más espacio en la memoria. Cuando no declaramos las variables, al usarlas el VBA les asigna el tipo “Variant” que ocupa más memoria que otros tipos de variable. Del mismo modo tener las variables declaradas ayuda a entender mejor la programación que se realizará.

Una forma de no olvidarnos nunca de declarar las variables es hacer que el VBA nos lo recuerde, para eso en el Editor de VBA tenemos que ir a “Herramientas” – “Opciones” y en la pestaña “Editor” activamos el “check” de “Requerir declaración de variables”, de ese modo en todos los módulos de manera automática en la parte superior nos aparecerá la línea “Option Explicit” que es una instrucción que fuerza la declaración explícita de todas las variables.

Como para entendernos mejor, un ejemplo de lo que no es recomendable hacer sería el siguiente:

Sub DeclaracióndeVariables()
strNombre = "Abraham"
MsgBox strNombre
End Sub 

Con lo mismos datos, lo mejor sería colocar así la rutina:

Sub DeclaracióndeVariables()
Dim strNombre As String
strNombre = "Abraham"
MsgBox strNombre
End Sub 

Otra forma de hacerlo usando abreviaturas de variables:

Sub DeclaracióndeVariables()
Dim strNombre$
strNombre$ = "Abraham"
MsgBox strNombre$
End Sub 

Al declarar las variables otra cosa importante es asignarles el tipo de dato adecuado. En muchas ocasiones se ven declaraciones de variables de este tipo:

Dim A, B, C, D As String 

Recordemos que cuando declaramos una variable sin darle un tipo de dato, el sistema automáticamente le asigna un tipo “Variant”. Es decir, Dim A Significa que a la variable “A” le estamos dando un dato del tipo Variant. Asimismo, en una línea con Dim a cada variable se le tiene que asignar su tipo, sino, serán tipo “Variant”, por lo tanto la línea anterior es igual a colocar:

Dim A As Variant, B As Variant, C As Variant, D As String  

Entonces suponiendo que todas las variables serán cadenas, lo correcto sería colocar lo siguiente:

Dim A As String, B As String, C As String, D As String 

Hasta la próxima.

Abraham Valencia