Cómo crear un índice de hojas en Excel

Cuando tienes un libro de Excel con una gran cantidad de hojas a las que deseas acceder rápidamente, es posible crear un índice en la primera hoja del libro que nos permita encontrar y activar fácilmente cualquiera de las hojas restantes.

Crear índice de hojas manualmente

Lo más común es tener una hoja insertada al principio de nuestro libro donde colocaremos los hipervínculos al resto de las hojas. La creación del hipervínculo es muy sencilla ya que solo debemos hacer clic derecho sobre la celda indicada y seleccionar la opción Hipervínculo.

Cómo crear un índice de hojas en Excel

Se mostrará el cuadro de diálogo Insertar hipervínculo y en el panel izquierdo deberás seleccionar la opción Lugar de este documento.

Crear un índice de hojas en un cuaderno de Excel

Este cuadro de diálogo nos permite crear un hipervínculo a una celda dentro de la misma hoja o a una de las hojas de nuestro libro que es precisamente la opción que utilizaremos en nuestro índice. Después de haber hecho la selección adecuada debemos hacer clic en el botón Aceptar para crear el hipervínculo. De la misma manera podemos insertar un vínculo en cada una de las hojas “destino” para que nos lleve de regreso al índice de manera que se facilite la navegación entre todas las hojas.

Aunque podemos crear manualmente cada uno de los hipervínculos, esto se convertirá en un proceso largo y tedioso si tenemos una gran cantidad de hojas en nuestro libro por lo que te mostraré cómo crear un índice de hojas en Excel utilizando una macro.

Macro para crear un índice de hojas

A continuación el código de la macro que nos permitirá crear un índice de hojas en Excel:

Sub crearIndice()

'**************************************
'PASO 1: Crear o limpiar la hoja Indice
'**************************************
Dim hoja As Worksheet
On Error Resume Next
Set hoja = Worksheets("Indice")
On Error GoTo 0

If hoja Is Nothing Then
'La hoja Indice no existe - Crearla en primera posición
Worksheets.Add(Before:=Worksheets(1)).Name = "Indice"
Else
'La hoja Indice ya existe - Limpiarla
Worksheets("Indice").Cells.Clear
End If

'Insertar título a la hoja Indice
Worksheets("Indice").Range("A1").Value = "Indice"

'************************************************
'PASO 2: Recorrer las hojas creando hipervinculos
'************************************************
Dim fila As Long
Dim vinculoRegreso As String

fila = 2
'Celda donde se colocará el hipervinculo de regreso al indice
vinculoRegreso = "C1"

For Each hoja In Worksheets
If hoja.Name <> "Indice" Then
'Crear hipervinculo en hoja Indice
With Worksheets("Indice")
.Hyperlinks.Add Anchor:=.Cells(fila, 1), _
Address:="", _
SubAddress:="'" & hoja.Name & "'!A1", _
TextToDisplay:=hoja.Name
End With

'Crear hipervinculo en hoja destino hacia Indice
With hoja
.Hyperlinks.Add Anchor:=.Range(vinculoRegreso), _
Address:="", _
SubAddress:="Indice!A1", _
TextToDisplay:="Indice"
End With
fila = fila + 1
End If
Next

End Sub

El paso 1 de la subrutina es para validar la existencia de la hoja llamada Indice. En caso de que no exista será creada con la instrucción Worksheets.Add pero si ya existe se limpiará el contenido de todas sus celdas con el método Cells.Clear.

La parte más importante del paso 2 es el bucle que recorre todas las hojas del libro y para cada una de ellas inserta un hipervínculo en la hoja Indice. También se crea otro hipervínculo dentro de cada hoja individual que nos permitirá regresar a la hoja Indice. Este vínculo se insertará en la celda indicada por la variable vinculoRegreso, que para nuestro ejemplo es la celda C1. Para nuestro libro de Excel de ejemplo, nuestra macro crea una hoja llamada Indice con los siguientes vínculos:

Crear una hoja indice en Excel

Además para cada una de las hojas del libro, se coloca el hipervínculo hacia la hoja Indice en la celda C1 de la siguiente manera:

Crear índice con links a las demás hojas en Excel

Para crear el índice de hojas en tu propio libro deberás copiar la macro al módulo ThisWorkbook  y ejecutarla. En el archivo de ejemplo que puedes descargar aquí, he eliminado la hoja Indice de manera que puedas ejecutar y probar la macro tan pronto como abras el archivo. Recuerda que para ejecutar la macro solo debes ir a Vista > Macros y dentro del cuadro de diálogo seleccionar la macro ThisWorkbook.crearIndice.