/ / Excel VBA Workbook y Worksheet Object

Libro de Excel VBA y objeto de hoja de trabajo

Jerarquía de objetos | Colecciones | Propiedades y metodos

Aprende más sobre el Libro de trabajo y Objeto de hoja de trabajo en Excel VBA.

Jerarquía de objetos

En Excel VBA, un objeto puede contener otroobjeto, y ese objeto puede contener otro objeto, etc. En otras palabras, la programación de Excel VBA implica trabajar con una jerarquía de objetos. Esto probablemente suena bastante confuso, pero lo dejaremos claro.

La madre de todos los objetos es el propio Excel. Lo llamamos el objeto Aplicación. El objeto de aplicación contiene otros objetos. Por ejemplo, el objeto de libro de trabajo (archivo de Excel). Esto puede ser cualquier libro de trabajo que haya creado. El objeto Libro de trabajo contiene otros objetos, como el objeto Hoja de trabajo. El objeto Hoja de trabajo contiene otros objetos, como el objeto Rango.

El capítulo Crear una macro ilustra cómo ejecutar el código haciendo clic en un botón de comando. Utilizamos la siguiente línea de código:

Range("A1").Value = "Hello"

pero lo que realmente queríamos decir era:

Application.Workbooks("create-a-macro").Worksheets(1).Range("A1").Value = "Hello"

Nota: los objetos están conectados con un punto. Afortunadamente, no tenemos que agregar una línea de código de esta manera. Esto se debe a que colocamos nuestro botón de comando en create-a-macro.xls, en la primera hoja de trabajo. Tenga en cuenta que si desea cambiar las cosas en diferentes hojas de trabajo, debe incluir el objeto Hoja de trabajo. Sigue leyendo

Colecciones

Usted puede haber notado que los libros de ejercicios yLas hojas de trabajo son ambos en plural. Eso es porque son colecciones. La colección de libros contiene todos los objetos del libro que están abiertos actualmente. La colección de Hojas de trabajo contiene todos los objetos de la Hoja de trabajo en un libro.

Nombres de la hoja de trabajo

Puede referirse a un miembro de la colección, por ejemplo, un solo objeto de hoja de trabajo, de tres maneras.

1. Usando el nombre de la hoja de trabajo.

Worksheets("Sales").Range("A1").Value = "Hello"

2. Usando el número de índice (1 es la primera hoja de trabajo que comienza desde la izquierda).

Worksheets(1).Range("A1").Value = "Hello"

3. Usando el nombre de código.

Sheet1.Range("A1").Value = "Hello"

Para ver el nombre de código de una hoja de trabajo, abra el Editor de Visual Basic. En el Explorador de proyectos, el primer nombre es CodeName. El segundo nombre es el nombre de la hoja de trabajo (Ventas).

Nombre clave

Nota: CodeName sigue siendo el mismo si cambia el nombre de la hoja de trabajo o el orden de sus hojas de trabajo, por lo que esta es la forma más segura de hacer referencia a una hoja de trabajo. Haga clic en Ver, Ventana de propiedades para cambiar el nombre de código de una hoja de trabajo. Hay una desventaja: no puede usar el nombre de código si hace referencia a una hoja de trabajo en un libro diferente.

Propiedades y metodos

Ahora echemos un vistazo a algunas propiedades yMétodos de la colección Workbooks y Worksheets. Las propiedades son algo que tiene una colección (describen la colección), mientras que los métodos hacen algo (realizan una acción con una colección).

Coloque un botón de comando en su hoja de trabajo y agregue las líneas de código:

1. El método Add de la colección Workbooks crea un nuevo libro.

Workbooks.Add

Nota: el método Agregar de la colección de Hojas de trabajo crea una nueva hoja de trabajo.

2. La propiedad Count de la colección Worksheets cuenta el número de hojas de trabajo en un libro.

MsgBox Worksheets.Count

Resultado al hacer clic en el botón de comando en la hoja:

Cuenta Propiedad en Excel VBA

Nota: la propiedad Count de la colección Workbooks cuenta el número de libros activos.

Lea también: