Crear Hoja de ÍNDICE con LINKS Excel
🔥 ¿Tienes archivos con muchas hojas y es difícil ubicar cada una?
No te gustaría una manera sencilla de navegar entre hojas sin perder tiempo❓
👉 En este video te mostraré cómo puedes Crear una hoja de Índice con hipervínculos, donde veas los nombres de las hojas y con un clic, vayas directamente a cada hoja.
Y lo mejor, si añades, eliminas o mueves hojas, el Índice se regenerar automáticamente. Todo, con macros y VBA.
Ver video Crear hoja ÍNDICE con links que detecta cambios en hojas
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
¿Cómo funciona?

Tenemos una macro que nos ayuda con el proceso de creación de la hoja ÍNDICE, la cual recorre cada de las hojas y crear un hipervínculo para ir hacia cada hoja. Pero lo mejor de esta macro, es que detecta cambios en las hojas. Mira:
- Inserta una hoja llamada ÍNDICE donde están los vínculos hacia las hojas.
- Si la hoja ÍNDICE ya existe, sólo actualiza la lista de hojas.
- Al activar la hoja ÍNDICE, la lista se regenera, asegurando de tener siempre los hipervínculos dirigidos a todas las hojas.
Código VBA de la macro
Option Explicit
'EXCELeINFO
'MVP Sergio Alejandro Campos
'http://www.exceleinfo.com
'https://www.youtube.com/user/sergioacamposh
'http://blogs.itpro.es/exceleinfo
Sub CrearIndice()
Dim i As Integer
Dim Dato As Integer
Dim RangoA1 As Range
Dim NuevoNombre, Resp
On Error GoTo Errores
If WorksheetExists("ÍNDICE") = False Then
ActiveWorkbook.Sheets.Add Before:=Sheets(1)
Set RangoA1 = Sheets(1).Range("a1")
Sheets(1).Range("a1").Value = "ÍNDICE"
Sheets(1).Name = "ÍNDICE"
GoTo InsertarLinks
Else
'Hoja ÍNDICE existe
Sheets("ÍNDICE").Select
Cells.ClearContents
Set RangoA1 = Sheets(1).Range("a1")
Sheets(1).Range("a1").Value = "ÍNDICE"
GoTo InsertarLinks
End If
Exit Sub
InsertarLinks:
Dato = ActiveWorkbook.Sheets.Count
For i = 1 To Dato - 1
With Sheets(1)
.Hyperlinks.Add Anchor:=RangoA1.Offset(i, 0), Address:="", SubAddress:="'" & _
Sheets(i).Name & "'" & "!A1", _
TextToDisplay:=Sheets(i).Name, ScreenTip:="Ir a hoja " & Sheets(i).Name
End With
Next i
ActiveSheet.Range("A2").EntireRow.Delete
Exit Sub
Errores:
MsgBox "Ha ocurrido un error: " & vbNewLine & vbNewLine & Err.Description, vbExclamation, "EXCELeINFO"
End Sub
Function WorksheetExists(sName As String) As Boolean
WorksheetExists = Evaluate("ISREF('" & sName & "'!A1)")
End Function
Descarga el archivo de ejemplo
Hoja de índice con links automáticos – EXCELeINFO.zip
⭐ Si te gustó este tutorial, por favor regístrate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.