Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Logo Excel Avanzado

Objetos, propiedades y métodos

| 1 comentario

Definiciones de Objetos, propiedades y métodos

Objetos en VBA
En Excel los objetos son todos los elementos que tenemos disponibles, por ejemplo el libro es un objeto, cada hoja es un objeto, y cada celda es un objeto (las tablas dinámicas y gráficos también son objetos).
Propiedades en VBA
Las propiedades son las características que nos permiten describir un objeto, normalmente hacen referencia a una magnitud o la existencia o ausencia de algo, por ejemplo podemos definir el alto de una fila o el ancho de una columna, o el valor que existe en una celda.
Métodos en VBA
Los métodos son las acciones que se pueden realizar por medio de un objeto, por ejemplo limpiar una celda.
Eventos en VBA
Los eventos son en cambio las interacciones que existen entre un usuario y un objeto, por ejemplo, crear una hoja, abrir un archivo.

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,  los objetos son en general todo lo que vamos a poder manipular en 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

Todos los objetos tienen propiedades, también podemos denominarlas como atributos, y nos permiten describir al objeto. Estas propiedades describen como se ve el objeto, como se comporta, si puede observarse, etc.

Por medio de VBA, nosotros podemos hacer dos cosas con las propiedades de los objetos: la primera es examinar la configuración de la propiedad (identificar el valor que corresponde a la propiedad), mientras que la segunda es cambiar esta configuración (cambiar el valor de la propiedad).

Identificar una propiedad

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 mostrar_valor()

contenido= Worksheets("Hoja1").Range("A1").Value

MsgBox contenido

End Sub

Modificar una propiedad

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 cambiar_valor()

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 contar_libros()

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 borrar_rango()

Range("A1").ClearContents

End Sub

Además los métodos pueden tener uno o más argumentos (un argumento o parámetro, es un valor que le entrega a una macro que sirve para la acción a realizar si son varios se separan por una coma) para obtener un resultado.

En el siguiente ejemplo, activamos la hoja1 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 nuevo_libro()

Workbooks.Add

End Sub  

 

Eventos en VBA

Los objetos como por ejemplo los formularios, hojas, libro, tienen eventos. Para comprender el funcionamiento de los mismos puede consultar: Eventos en VBA

En el caso de los eventos del libro, los cuales suelen ser muy útiles, podemos revisar: ThisWorkbook VBA

 

 

Un comentario

  1. hola buenos dias queria consultar una cosa tengo un useform y a la hora de ejecutarlo no me deja abrir los libro que tengo me podrian decir que es lo que tengo que hacer

Deja una respuesta

Los campos requeridos estan marcados con *.