Al construir un reporte en Excel es común mostrar un resumen de la información en la primera hoja que nos permitirá consultar el detalle que se encuentra en el resto de las hojas del libro y que también ofrecen información relevante. Nuestro objetivo es hacer que el usuario llegue al detalle que está buscando de una manera sencilla.
Una buena alternativa para crear este sistema de “navegación” en nuestro libro, es colocar un botón para moverse entre hojas. De esta manera podemos guiar a los usuarios hacia las hojas que contienen todo el detalle y evitar que ellos tengan que visitar cada una de las hojas en busca de la información.
Moverse a otra hoja con la grabadora de macros
El método más sencillo para crear un botón que se desplace a otra hoja es a través de la grabadora de macros. Debes ubicarte en la hoja inicial y hacer clic en el botón Grabar macro que se encuentra en la ficha Vista > Macros > Grabar macro o que también puedes iniciar con el icono ubicado en el extremo lateral izquierdo de la barra de estado. Al pulsar ese botón se mostrará el cuadro de diálogo Grabar macro.
Una vez que hayas especificado un nombre adecuado para la macro haz clic en Aceptar y solamente deberás realizar una sola acción: Hacer clic sobre la pestaña de la hoja a donde deseas moverte.
Inmediatamente después deberás detener la grabación pulsando el botón Detener grabación que se encuentra en la barra de estado de Excel. Con esto hemos creado la macro que nos ayudará a movernos a una hoja dentro del libro y solamente nos restará agregar el botón a la hoja. Para agregar este botón debes hacer clic en el botón desplegable Insertar que se encuentra dentro del grupo Controles de la ficha Programador y seleccionar el elemento Botón.
El puntero del ratón te permitirá definir el tamaño del botón sobre la Hoja y al terminar de dibujarlo se mostrará el cuadro de diálogo Asignar macro.
Lo único que tenemos que hacer es seleccionar la macro que recién acabamos de crear y pulsar el botón Aceptar. Al pulsar el botón recién creado nos moveremos hacia la nueva hoja. De esta misma manera podemos grabar una macro diferente que nos lleve de regreso a la hoja principal. Observa la siguiente animación en donde ya he creado una segunda macro que me permite regresar a la Hoja inicial:
Analizando el código VBA
Si analizas el código creado con la grabadora de macros, podremos aprender un poco sobre programación VBA. Las macros que fueron creadas generaron un código que puedes ver en el Editor de Visual Basic y que será similar al siguiente:
Observa que el objeto Sheets tiene un método llamado Select el cual hace la selección de dicha hoja:
Sheets("Hoja1").Select
Esta instrucción siempre seleccionará la Hoja1 independientemente de la hoja en la que me encuentre. De esta manera, la macro que creamos la podemos asignar a un botón en cualquier otra hoja de nuestro libro y siempre nos moveremos a la Hoja1.
Moverse entre hojas con VBA
El ejemplo anterior funciona perfectamente siempre y cuando no se cambien los nombres de las hojas del libro ya que si esto llega a suceder entonces nuestra macro dejará de funcionar. Para evitar este problema debemos utilizar el nombre del objeto en VBA de manera que sin importar que cambie de nombre podremos movernos hacia dicha hoja. En la siguiente imagen puedes observar cómo he renombrado la Hoja1 con el nombre Principal y que se ve reflejado en el Explorador de proyectos:
Para garantizar que el botón que nos mueve a la hoja Principal funcione adecuadamente debo modificar el código VBA de la siguiente manera:
Con la nueva instrucción (Hoja1.Select) estaremos utilizando el nombre interno del objeto y no importará si cambia de nombre la hoja, nuestro sistema de navegación siempre funcionará adecuadamente.
Instrucciones VBA adcionales para cambiar de hoja
Algunas instrucciones VBA que pueden ser de utilidad al movernos entre hojas son las siguientes:
Sheets(Sheets.Count).Select
Esta instrucción siempre nos moverá a la última hoja de nuestro libro.
Sheets(1).Select
Esta instrucción nos moverá a la primera hoja de nuestro libro.
Con los métodos e instrucciones presentados en este artículo estás listo para crear tus propios botones de navegación en tus reportes de Excel. Descarga el libro de trabajo utilizado en este artículo y revisa el código VBA creado en este ejemplo.
Artículos relacionados
El código de la grabadora de macros
El Editor de Visual Basic