Luego de ambientarnos un poco con el uso del Objeto WorkSheets con el diseño sencillo de un Menú de selección de Hojas el cual realizamos en las entregas pasadas, vamos a empezar a desarrollar los elementos que podemos aplicar en este Objeto WorkSheet y lo vamos a hacer primero con las Propiedades.
Obtener nombre de hoja Excel en Vba.
El objeto VBA que representa una hoja de un libro se llama ActiveSheet.Name que hace parte de 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 a realizar una macro sencilla donde vamos a presentar en un mensaje el nombre de la Hoja1, es decir “Control”; para ello vamos al editor de Visual Basic, damos doble clic en la Hoja1 desde el explorador de Proyectos:
Y pegamos el siguiente código:
Sub MostrarNombre()
MsgBox ActiveSheet.Name
End Sub
Queda de la siguiente manera:
Veamos lo que significa cada código:
- Linea 1, Sub MostrarNombre(): Indica el inicio de la macro.
- Linea 2, MsgBox ActiveSheet.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 el cual se obtiene indicando la Propiedad Name.
- Linea 3, End Sub: indica el final de la macro.
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.
Recomendados.