En esta ocasión vamos a obtener 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.
Obtener nombre de cualquier hoja Excel con Vba.
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.
Forma de citar este artículo (APA):
Invitado. (2015, junio 14). Obtener nombre de hoja Excel [Entrada de blog]. Recuperado de https://www.gerencie.com/obtener-el-nombre-de-cualquier-hoja-del-libro.html