Objetos vba: explicación ilustrada sencilla

Visual Basic para Aplicaciones es un lenguaje orientado a objetos y, para aprovecharlo al máximo, es necesario comprender los objetos de Excel. El libro que utiliza en Excel se compone de diferentes objetos.

Y hay varias propiedades adjuntas a un objeto a las que puede acceder y varios métodos que puede usar en/con un objeto. Entendamos esto con un ejemplo.

Piense en una gran tienda de comestibles, que tiene diferentes secciones para productos, y esas secciones además tienen estantes, y dentro de esos estantes, productos.

comprender-objetos-de-excel

Entonces si quieres comprar ropa tienes que ir a la sección de ropa y en la sección de ropa puede que tengas subsecciones para hombres y mujeres.

Y cuando eliges una tela, esa tela tendría un color, tamaño y tela específicos (que son las propiedades de esa tela).

De manera similar, en VBA, hay objetos que están estructurados en una jerarquía.

Modelo de objetos VBA (jerarquía)

En la aplicación Excel, cuando abre un libro de trabajo, en ese libro tiene una hoja de trabajo (o varias hojas de trabajo) y en esa hoja de trabajo tiene celdas y un rango de celdas.

La jerarquía de Excel comienza con la propia Aplicación Excel y a continuación se muestra la estructura que define esta jerarquía:

Digamos que si desea hacer referencia a un libro de trabajo, el código que escribió debería verse así:

En el código anterior, te refieres al libro de trabajo «Libro1».

Lo que escribió es que primero se refiere a la aplicación Excel y utilizó «Libros de trabajo», que forma parte del objeto Aplicación.

Ahora digamos que quiere ir más allá y quiere hacer referencia a una hoja de trabajo en el libro «Libro1» y el código correspondiente sería:

Sabes lo que eso significa, ¿no? Pero dejame decirte. En el código anterior, después de hacer referencia al libro de trabajo «Libro1», se refirió a la hoja de trabajo «Hoja1», que es otra parte del libro de trabajo.

Vayamos un poco más allá. Nos referimos a una celda específica de la hoja de trabajo «Hoja1» y el código correspondiente sería:

Antes de que preguntes, déjame decirte esto. En el código anterior, se ha referido a la celda A1 que se encuentra en la hoja de trabajo «Hoja1» del libro «Libro1».

Cuando se hace referencia a un objeto Range de esta manera, se denomina referencia completa.

Nota: El uso del objeto Aplicación es opcional. ¿Razón? Cuando haces algo en VBA, ya estás en la aplicación Excel.

Simplificar la referencia a un objeto.

En el código anterior utilizó una referencia totalmente calificada. Esto significa que le dice a VBA a qué libro de trabajo, hoja de trabajo y celda hacer referencia. Pero, ¿qué pasa si ya estás en el libro de trabajo del Libro 1?

En este caso, simplemente puede consultar la hoja de trabajo en la que desea hacer referencia a una celda, como se muestra en el siguiente código:

Además, si la hoja de trabajo «Hoja1» está habilitada, simplemente puede hacer referencia a la celda o al rango de celdas, como se muestra en el siguiente código:

Obtenga más información sobre los objetos VBA: Objeto de libro de trabajo de VBA | Objeto de hoja de cálculo VBA | Objeto de rango VBA

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *