Objetos
En el mundo de la programación el concepto de objeto tiene un significado diferente al usual. En este ámbito los objetos no son cosas materiales, sino existen en forma de bytes y bits y es en general todo lo que vamos a poder manipular en el Excel. Por ejemplo: una celda, una hoja y un libro son objetos y de esta manera existen muchos más objetos en Excel. Además es importante mencionar que todos los objetos tienen propiedades (características) y métodos (acciones), los cuales serán explicados más adelante.
Propiedades de los objetos
En este caso, como todos los objetos tienen propiedades, podemos denominarlas como atributos que van a describir al objeto. Estas propiedades describen como se ve el objeto, como se comporta, si puede observarse, etc.
En el uso del VBA, nosotros podemos hacer dos cosas con las propiedades de los objetos: la primera es examinar la configuración de la propiedad, mientras que la segunda es cambiar esta configuración.
Por ejemplo, las celdas tienen una propiedad llamada valor, la cual es el contenido que tiene cada celda. Nosotros podemos escribir un código VBA para mostrar el valor específico de cada celda, esto se podría hacer de la siguiente manera:
Sub mostrarvalor()
contenido= Worksheets(“Hoja1”).Range(“A1”).Value
MsgBox contenido
End Sub
Por otro lado, suponiendo que quieres cambiar la opción o valor de esa propiedad de la celda puedes aplicar también otra macro, ejemplo:
Sub cambiarvalor()
Worksheets(“Hoja1”).Range(“A1”).Value = 94.21
End Sub
Finalmente no hay que olvidarnos que la colección también es un objeto, y como tal tiene sus respectivas propiedades. Por ejemplo, si queremos determinar cuántos libros tenemos abiertos podemos usar la siguiente VBA que nos mostrara con un mensaje lo que queremos saber:
Sub contarlibros()
MsgBox Workbooks.Count
End Sub
Métodos
Así como los objetos tienen propiedades también cuentan con métodos. Un método es una acción que puedes realizar con un objeto, por decir, puede cambiar las propiedades de un objeto o indicarle al objeto que realice algo específico.
En el primer ejemplo, veremos el método ClearContents, el cual hará que se elimine el contenido de la celda A1 de la hoja que está activa:
Sub borrarrango()
Range(“A1”).ClearContents
End Sub
Además los métodos pueden tener uno o más argumentos -un argumento es un valor que le añade especificaciones a la acción a realizar, se escribe luego de los métodos separado por un espacio y entre ellos se separan por una coma- para obtener un mejor resultado.
En el siguiente ejemplo, activamos la hoja 1 y luego copiamos el contenido de la celda A1 a la B1, usando el método de copiado (Copy Range).
Sub copiar()
Worksheets(“Hoja1”).Activate Range(“A1”).Copy Range(“B1”)
End Sub
Finalmente, como es de esperarse, como una colección es un objeto entonces también tiene métodos. Por ejemplo, la siguiente macro usa el método Add para añadir otro libro a la colección:
Sub nuevolibro()
Workbooks.Add
End Sub