El post que buscas se encuentra eliminado, pero este también te puede interesar

Macro para crear indice de hojas en excel

Cuando tenemos muchas hojas en nuestro libro de excel a veces necesitamos poner un vinculo a cada hoja desde una hoja principal para poder dirigirnos a cada una de ellas, esto se llama crear indice de hojas de excel, pero hacerlo de forma manual tomaría mucho tiempo si se tratara de varias hojas. Existe una manera mucho más rápida de hacerlo con tan solo un clic, y esto se logra usando programación vba o también llamado macro.

Pasos previos

Debemos tener un libro con 7 hojas la primera sera la hoja "Indice" en la cual se generarán los indices de cada hoja y las 6 restantes tendrán el nombre de cada mes desde enero hasta junio.
En la celda A1 de la hoja Indice pondremos el texto "Lista de hojas" que sera nuestra cabecera, y de allí para abajo se almacenaran los indices de cada hoja.

Macro para crear indice de hojas en excel


Crear macro para insertar el código

Nos dirigimos al entorno de programación vba (Visual basic para Aplicaciones) presionando las teclas Alt+F11, luego en el menú le damos clic en Módulo.

Dentro del modulo pegaremos el siguiente código:

Sub Crear_Indice_Hojas()
Fila = 1
For Each Hoja In Worksheets
' Agregar vinculo a cada hoja del mes
If Hoja.Name <> "Indice" Then
With Worksheets("Indice"
.Hyperlinks.Add Anchor:=.Cells(Fila, 1), Address:="", _
SubAddress:=Hoja.Name & "!A1", TextToDisplay:=Hoja.Name
'Agregar vinculo de retorno a la hoja indice
End With

With Worksheets(Hoja.Name)
.Hyperlinks.Add Anchor:=.Cells(1, 2), Address:="", _
SubAddress:="Indice!A1", TextToDisplay:="Indice"
End With
End If
Fila = Fila + 1
Next
End Sub


Para usar el código que hemos programado simplemente debemos seleccionar la hoja "Indice" y presionamos la combinación de teclas Alt + f8 y ejecutar la macro "Crear_Indice_Hojas".

macro en excel

Una vez ejecutada la macro nos agrega dentro de la hoja "Indice" los nombres de cada hoja del mes en una lista a partir de la celda A2.

indices en excel


También se agrega un vinculo de retorno hacia la hoja "indice" en cada Hoja de mes en la celda B1, si deseamos modificar la posición del vinculo, dentro del código deberíamos modificar esta parte: cells(1,2) donde 1 es la posición de la fila y 2 la posición de la columna por la celda que queramos.

crear indice en hojas vba


With Worksheets(Hoja.Name)
.Hyperlinks.Add Anchor:=.Cells(1, 2), Address:="", _
SubAddress:="Indice!A1", TextToDisplay:="Indice"
End With

Finalmente guardamos nuestro libro con el tipo "Libro de excel habilitado para macros"
De una manera sencilla nos ahorramos mucho tiempo en crear los indices para nuestras hojas de excel.

Anuncios

0 comentarios - Macro para crear indice de hojas en excel