Breaking News

Realizar un indice de hojas en Excel con Hipervinculo y macro

Realizar un indice de hojas en Excel con Hipervinculo y macro 



En muchas ocasiones tenemos libros con innumerable hojas, lo que puede hacer un poco
mas tedioso trabajar o desplazarnos por las hojas. existen herramientas que nos pueden facilitar un poco. como por ejemplo realizar un indice en la primera hoja.


Crear indice manualmente utilizando la herramienta de hipervinculo







claro es un poco mas demorado, basta con seleccionar la celda en la cual queremos crearlo. clic derecho e hipervinculo. seleccionamos la opción Lugar en este documento y posterior mente la hoja indicada. 







Crear indice con una macro

podemos crear un indice de todas las hojas en un instante utilizando la siguiente macro. 


_____________________________________________

Sub crearIndice()
Dim hoja As Worksheet
On Error Resume Next
Set hoja = Worksheets("Indice")
On Error GoTo 0

If hoja Is Nothing Then
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

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


Dim fila As Long
Dim vinculoRegreso As String

fila = 2
hipervinculo de regreso al indice
vinculoRegreso = "J1"

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


_____________________________________________________

Al ejecutar la macro nos adicionara una hoja al inicio nombrada como indice. adionamente en cada hoja del libro creara un hipervinculo en la celda J1 para devolver a nuestro indice.






espero que sea de gran ayuda

2 comentarios:

  1. excelente post puedo invertir la macro

    ResponderEliminar
  2. Si modifico el indice que esta en comillas, editaria la primer hoja'La hoja
    Worksheets("Indice").Cells.Clear

    ResponderEliminar