Obtener el nombre de cualquier hoja del libro

Vimos en la entrega pasada una aplicación del Objeto WorkSheet mediante el uso de la Propiedad Name; en realidad se trataba del Objeto ActiveSheet mediante el cual estamos indicando que trabajamos con la Hoja Activa y de la cual tomamos el nombre que aparece en la pestaña de hojas de Excel y lo presentamos en un cuadro mensaje; en esta ocasión vamos a realizar algo similar donde vamos a presentar el nombre pero de cualquier hoja que indiquemos, es decir, podemos estar en la Hoja Control pero desde allí, vamos a mostrar el nombre de la tercera hoja que se encuentre en el libro. Nuevamente vamos a utilizar la Propiedad Name:

Propiedad Name: Mediante el uso de esta Propiedad, podemos obtener el Nombre que aparece en la pestaña de la Hoja desde el Libro de Excel:

En esta imagen, los nombres de las hojas son Control, Inventario y Recibos; mediante la aplicación de la Propiedad Name podemos obtener estos nombres. Esto es útil por ejemplo dentro de una macro más robusta donde debamos estar interactuando entre las distintas hojas para lo cual es necesario identificar el nombre de cada hoja puesto que estos nombres se pueden estar cambiando según lo requiera el usuario (a no ser que implementemos una macro para evitar cambiar el nombre la cual ya vimos en entregas pasadas).

Vamos al editor de Visual Basic, damos doble clic en la Hoja1 desde el explorador de Proyectos:

Y pegamos el siguiente código:

Sub MostrarNombreHoja3()

MsgBox Worksheets(3).Name

End Sub

Queda de la siguiente manera:

Veamos lo que significa cada código:

Linea 1, Sub MostrarNombreHoja3(): Indica el inicio de la macro

Linea 2, MsgBox Worksheet(3).Name: con la instrucción MsgBox estamos indicando a Visual Basic que presente un cuadro de mensaje el cual va a presentar del Objeto ActiveSheet, el nombre de la hoja que se encuentra en la posición 3 mediante el uso de la Propiedad Name

Linea 3, End Sub: indica el final de la macro

La diferencia de esta macro con respecto a la que vimos en la entrega anterior es que si vamos a obtener el nombre de cualquier hoja no lo podemos hacer con la macro del ejercicio anterior, es decir, la macro de la entrega anterior solo sirve para mostrar el nombre de la hoja activa; con este código podemos mostrar el nombre de cualquier hoja sin importar en cual hoja estamos realizando la macro: observemos que en este ejercicio estamos ejecutando la macro desde la Hoja1(Control) para mostrar el nombre de la Hoja3(Recibidos)

Probemos ejecutando esta macro con F5 y veremos el siguiente mensaje:

Finalmente podemos vincular esta macro a una Autoforma en la hoja de Excel para que muestre el mensaje al dar clic.

Descargar archivo.

MÁS SOBRE

Gerencie.com en su correo.

Suscríbase y nosotros colocaremos en su bandeja de entrada la mejor información que generamos diariamente.

Siéntase libre de opinar

En Gerencie.com está permitido opinar, criticar, discutir, controvertir, disentir, etc., pero debe hacerlo sin insultar y sin ofender a otros.

Información legal aplicable para Colombia.