Crear hoja de índice con hipervínculos a hojas de un archivo de Excel

Crear hoja de índice con hipervínculos a hojas de un archivo de Excel

En este tutorial te mostraré una macro VBA en Excel para crear una hoja de cálculo donde insertaremos un Índice de las hojas que tengamos en un archivo de Excel para navegar sobre ellas. La macro mandará llamar a la opción de Excel Insertar Vínculo.

Vínculos en Excel

En Excel podemos insertar hipervínculos a los siguientes elementos. Se insertar links parecidos a los que vemos en páginas Web.

  • Archivo o página Web.
  • Celda u hoja del archivo.
  • Crear nuevo archivo.
  • Correo electrónico.

De manera manual podemos insertar vínculos hacia otra hoja que tengamos en nuestro archivo. En una celda ingresamos un texto y damos clic derecho sobre esa celda y elegimos Vínculo. Veremos el formulario Insertar hipervínculo. Seleccionamos Lugar de este documento y luego Hoja2.

Insertar hipervínculo en celda en celda de Excel.

Figura 1. Insertar hipervínculo en celda en celda de Excel.

Ver video Crear hoja de índice con hipervínculos

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

Crear hoja de índice usando macros VBA

Hemos desarrollado una macro VBA que inserta una nueva hoja de cálculo y enlista el nombre de todas las hojas que tengamos en nuestro archivo. Al crear la hoja nos pedirá si le deseamos ingresar un nombre. Recomiendo que le ingresemos ÍNDICE.

Crear índice con links a hojas en Excel

Figura 2. Crear índice con links a hojas en Excel.

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

ActiveWorkbook.Sheets.Add Before:=Sheets(1)
Set RangoA1 = Sheets(1).Range("a1")
Sheets(1).Range("a1").Value = "ÍNDICE"
Dato = ActiveWorkbook.Sheets.Count

For i = 1 To Dato
    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
Resp = MsgBox("Desea asignarle un nombre la hoja de índice creada?", vbYesNoCancel + vbQuestion, "EXCELeINFO")

If Resp = vbYes Then
    Application.Dialogs(xlDialogWorkbookName).Show
Else
'
End If

Exit Sub

Errores:
MsgBox "Ha ocurrido un error: " & vbNewLine & vbNewLine & Err.Description, vbExclamation, "EXCELeINFO"

End Sub

Descargar el archivo de Excel

Descargar el ejemplo Crear hoja de índice con hipervínculos a hojas de un archivo de Excel – 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...