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?

Crear hoja ÍNDICE con links en Excel - exceleinfo
Crear hoja ÍNDICE con links en Excel – exceleinfo

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.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: