En el VBA, al igual que en otros lenguajes de programación, un objeto representa un elemento de una aplicación; en el caso del Excel estos son las hojas, las celdas, los gráficos, los formularios de VBA (UserForm), etc. Los objetos de Excel tienen métodos, eventos y propiedades.
En muchas ocasiones es necesario usar objetos en nuestros procedimientos, para ello debemos declarar los objetos como variables. Las variables de objeto se declaran como cualquier otra solo que haciendo referencia al objeto. De este modo se puede establecer y/o cambiar sus propiedades o usar cualquiera de sus métodos:
'Objeto rango
Dim MiCelda As Range
'Objeto hoja
Dim MiHoja As WorkSheet
'Objeto libro
Dim MiLibro As WorkBook
En ocasiones quizá tengamos que declarar una variable de objeto con el tipo de datos “Object” pues quizá el tipo específico del objeto no se conoce. Este tipo hace referencia a cualquier objeto pero consume más recursos que un tipo específico:
Dim MiObjeto As Object
Para asignar valor (objetos) a este tipo de variable usaremos la instrucción “Set”:
Set MiCelda = Range("A1:A10")
Set MiHoja = Worksheets("Hoja1")
Una vez asignado el objeto a la variable, podemos hacer referencia y/o cambiar, por ejemplo, sus propiedades o valores:
MiCelda.Value = “Hola a todos”
MiHoja.Name = "Nueva Hoja"
En el primer caso asignamos la frase “Hola a todos” a todas las celdas del rango asignado al objeto “MiCelda” y en el segundo caso cambiamos la propiedad “Name” (el nombre) del objeto “MiHoja”.
Después de trabajar con nuestras variables de objeto, una buena costumbre es limpiar la variable y de ese modo dejar libre memoria (aunque al terminar la rutina las variables igual quedan libres y por ende la memoria). Para ello utilizaremos la instrucción “Nothing”:
Set MiCelda = Nothing
Set MiHoja = Nothing
Y esos son algunos consejos e indicaciones para que podamos trabajar con variables de objetos.
Hasta la próxima.
Abraham Valencia
No hay comentarios.:
Publicar un comentario