Jerarquía de Objetos y Colecciones

🔴 En este apartado veremos la Jerarquía de Objetos y las Colecciones en Visual Basic for Applications.

✅ Jerarquía de Objetos en Excel

Podemos distinguir una Jerarquía en Excel de la siguiente forma:

  • Jerarquía 1 Applicación
  • Jerarquía 2 WorkBook
  • Jerarquía 3 WorkSheet
  • Jerarquía 4 Range – Cell

✅ Referencia a Celda

Para hacer referencia a una Celda debemos utilizar la propiedad Range y luego el número de celda Range (“A1”).select

En este ejemplo nuestro código ejecutará una macro a nivel de celdas, podemos utilizar esta macro y se ejecutará en cualquier Hoja en la que tengamos abierta sin restricciones.

Ejemplo 1

Sub A()
Range (“A1”).Value = “Miguel Vela”
End Sub

Esta macro se ejecuta según el Libro que está abierto. Es decir este código al ejecutarse en Hoja1 nos mostrará en pantalla Miguel Vela en la Celda A1. Si vamos a la Hoja2 y ejecutamos también mostrará Miguel Vela en la Celda A1.

El problema es que se ejecuta libremente en cualquier Hoja que tengamos abierto en pantalla, esto podría conllevar a un problema. Para evitar esta ejecución “Libre” debemos respetar las Referencias y las Jerarquías, es decir segmentar con el código y especificar en que Hoja puede únicamente ejecutarse la macro.

Si creamos una Hoja3 y ejecutamos veremos que también muestra en la Celda A1 el texto Miguel Vela.

Para solucionar esto tenemos que especificar la jerarquía de nuestra macro, siendo necesario escribir el código correcto en la hoja usando Worksheets.

✅ Referencia a una Hoja y Celda

Para hacer referencia a una Hoja debemos utilizar la propiedad Worksheets y luego especificamos el número de la Hoja de la siguiente forma Worksheets(“Hoja1”).Range (“A1”).Select.

Ejemplo 1:

Vamos a utilizar el siguiente código para que nuestra macro solo se ejecute en la Hoja2, y así poder tener un correcto uso de su jerarquía.

Sub A()
Worksheets(“Hoja2”).Range(“A5”).Value = “El Tío TEch”
End Sub

Si ejecutamos esta macro en la Hoja1 no nos hará ninguna acción, ya que esta especificado que solo debe ejecutarse en la Hoja2.

👉 Debemos respetar las jerarquías para que nuestra Macro pueda entender en que Hoja y Celda determinada específicamente debe ejecutarse.

✅ Referencia a un Libro, Hoja y Celda

Para realizar este ejemplo debemos tener dos Libros de Excel guardados en una misma carpeta o también en el escritorio, ambas deben compartir es mismo directorio. No olvidar que debemos guardar nuestros Libros de Excel como Libro de Excel habilitado para macros. Al primer Libro le pondremos el nombre A y al segundo nombre B.

Lo que haremos ahora es <modificar> el Libro B desde el Libro A, para eso en nuestra Macro debemos agregar el siguiente código:

Sub A()
Workbooks(“b.xlsm”).Worksheets(“Hoja1”).Range(“A1”).Value = “El Tío TEch 2024”
End Sub

Si ejecutamos esta Macro desde nuestro Libro A modificaremos el Libro B > Hoja1 > Celda A1 > y se imprimirá El Tío TEch 2024.

✅ Referencia desde Application

El Objeto Application es la Jerarquía más alta, pero en realidad no es necesario poner ya el Objeto Application ya que si no se pone Excel automáticamente va interpretar como si estaría allí. EN conclusión no es necesario poner el Objeto de la Jerarquía Application.

✅ Colecciones

Colecciones en la vida RealColecciones en Excel
Un Objeto en la vida real sería una persona, una Colección sería Personas.




En Excel un Objeto podría ser Worksheet y una Colección sería Worksheets.




✅ Colección en Excel

Una colección en Excel tiene los siguientes conceptos:

  • Una Colección es un Grupo de Objetos Relacionados.
  • Una Colección es una Categoría.
  • Una Colección es un Objeto que tiene otros Objetos.
  • Una Colección es un conjuntos de Objetos del mismo tipo, y esta Colección es también un Objeto.
  • Una Colección proporciona una forma de acceso a los miembros que forman parte de la Colección, osea a los Objetos.
  • Una Colección es similar a una matriz de Objetos.

CATEGORÍA = COLECCIÓN

Un Objeto pertenece a una Categoría. Una Categoría/Colección lo que hace es agrupar Objetos que son similares o parecidos.

👉 En Excel se aumenta un S a cualquier Objeto para que se entienda que hacemos referencia a una Categoría/Colección, ejemplo:👀

Aquí tenemos otro ejemplo gráfico de como se agrupan los objetos en colecciones en Excel:

👉 También puedes ver estos artículos relacionados: 👀

La propiedad Range
La propiedad Cells
La propiedad Value y Value2

Related Articles

Responses

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