Macro para hacer un Indice de un Libro Excel

Como hacer una macro para que en un libro excel con varias hojas pueda hacer un Indice por ejemplo en la primera hoja con los nombres de cada hoja y se pueda vincular ese indice a cada hoja y pueda volver al índice con otro hipervinculo. Y si agrego otra hoja lo pueda actualizar.

Respuesta
2

H o l a:

Esta es una opción, para que en una pestaña de excel, se carguen todas tus hojas y puedas seleccionar la hoja a la que quieres ir:

Para crear la pestaña y se carguen las hojas, ejecuta la siguiente macro.

Pon la macro en un módulo:

Sub Crearmenu()
'Por.Dante Amor
    Dim Hoja As Worksheet
    On Error Resume Next
    CommandBars("Menu de hojas").Delete
    With CommandBars.Add(Name:="Menu de hojas")
        With .Controls.Add(Type:=msoControlDropdown)
            For Each Hoja In Worksheets
                .AddItem Hoja.Name
                .OnAction = "Irahoja"
                .TooltipText = "Seleccione hoja"
            Next
        End With
        .Visible = True
    End With
End Sub

También pon la siguiente macro en el mismo módulo:

Sub Irahoja()
'Por.Dante Amor
    Application.ScreenUpdating = False
    With CommandBars.ActionControl
        h = .List(.ListIndex)
    End With
    Sheets(h).Select
End Sub

Después, selecciona la pestaña "Complementos y ahí selecciona del combo la hoja que quieres.


Sigue las Instrucciones para ejecutar la macro

  1. Abre tu archivo de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Para ejecutarla presiona F5

Para quitar el menú, ejecuta la siguiente macro:

Sub QuitarMenu()
'Por.Dante Amor
    On Error Resume Next
    CommandBars("Menu de hojas").Delete
End Sub

Referencia:

Como navegar entre hojas de un mismo libro

Estimado Dante, al ejecutar la macro sale Error de Compilación, procedimiento externo no válido. Tu ayuda por favor

¿Cuál macro?

Revisa que la hayas copiado completa.

Tienes que ejecutar esta macro:

Crearmenu

Y en el mismo módulo tienes que poner esta macro:

Irahoja

Pero esta última macro no tienes que ejecutarla.


sal u dos

¡Gracias! Me resultó bien

Cuando gustes.

No olvides cambiar la valoración de la respuesta.

1 respuesta más de otro experto

Respuesta
1

Tienes que generar una lista desplegable con los nombres de las hojas y luego dentro de la programación de la lista desplegable en el evento después de seleccionar con la función worksheet. Open lo lleve a la hoja seleccionada.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas