Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

domingo, 2 de octubre de 2016

Una macro para crear y actualizar una lista de indice en tu archivo de Excel


¿Quieres una hoja central desde donde se puede navegar fácilmente a cualquier hoja del libro y, a continuación, vaya hacia atrás con un solo clic? En esta macro de Excel se crea un índice que enumera todas las hojas del libro. 

La mejor parte es que el propio índice de Excel se actualiza cada vez que seleccione la hoja de índice.

Es probable que en algún libro de Excel tengamos un montón de hojas de cálculo con lo cual sería muy conveniente tener una hoja de índice en el libro. 







Para conseguir este efecto, el primer paso es agregar una hoja de trabajo más, y se le llama "Índice", o como se quiera para identificarlo como un índice ( tabla de contenidos, etc.). Para cambiar el nombre de la hoja, haga clic derecho en el nombre de la hoja y seleccione Cambiar nombre.



También tendríamos que asegurarse de que su cinta desarrollador está encendida. Para encender la cinta desarrollador, vaya a Archivo, a continuación, Opciones, Personalizar cinta y luego en la pestaña principales, asegúrese de que está marcada desarrollador.

A continuación, haga clic derecho en la ficha Índice y seleccione "Ver código". Aquí es donde se va a introducir el código de abajo.








Private Sub Worksheet_Activate()



Dim wSheet As Worksheet

Dim l As Long

l = 1

With Me

.Columns(1).ClearContents

.Cells(1, 1) = "Indice"

.Cells(1, 1).Name = "Indice"

End With

For Each wSheet In Worksheets

If wSheet.Name <> Me.Name Then

l = l + 1

With wSheet

.Range("A1").Name = "Start_" & wSheet.Index
.Hyperlinks.Add Anchor:=.Range("A1"), Address:="", _
SubAddress:="Indice", TextToDisplay:="Vuelta al Indice"

End With

Me.Hyperlinks.Add Anchor:=Me.Cells(l, 1), Address:="", _
SubAddress:="Start_" & wSheet.Index, TextToDisplay:=wSheet.Name

End If

Next wSheet

End Sub


Ahora al hacer clic en otra hoja en el archivo, a continuación, hacemos clic de nuevo en la hoja de índice. Nos daremos cuenta de que ha llenado una lista de todas las hojas en su archivo, completo con un enlace conveniente para ellos. En todas las otras hojas, la celda A1 tendrá un enlace "Volver al índice" para una fácil navegación. Si desea utilizar otra celda para esta navegación hacia atrás, cambiar el código en ambos lugares donde dice A1 a cualquier otra celda.


Y ya está. Espero que os haya gustado y os sea útil!


*********************************************************************************************

Por cierto si necesitas cursos personalizados de Excel via Skype mándame un email a 
elsabiodeexcel@gmail.com.

Nuevos cursos recientemente creados:

1. Tablas dinámicas - 2-3 horas por skype €45
2. Iniciación a las macros - aprende a tu propio ritmo €50

*********************************************************************************************
El Sabio de Excel les quiere recomendar un nuevo ebook que les explicará todo lo que necesitan saber sobre Power Pivots.

EL ADN DE POWER PIVOT

null
Guía paso a paso sobre Power Pivot, construcción de modelo de datos y el lenguaje DAX, con orientación a inteligencia de negocios.
Viñetas red2   Formato: PDF Libre de DRM, Descarga INMEDIATA.
Viñetas red2   Datos Técnicos: 476 Páginas + Compendio de Archivos
Viñetas red2  Precio: $ 32 95 USD (Dólares Americanos)


El Sabio de Excel recibirá una comisión por cada compra del libro que se realice usando el link de a continuación. Esta comisión ayuda (y mucho) a seguir manteniendo esta web. 




****************************************************************************


Te ha gustado el artículo?



No te olvides de mostrar tu gratitud hacia el autor (yo) mediante una de las 3 siguientes acciones:

1. Puedes invitarme a un café pinchando en la siguiente imagen.

Image result for coffee icon


2. Puedes hacer clic en los anuncios mostrados en la página

3. Puedes recomendar el artículo en Google haciendo clic en g+1 (justo después del artículo), también puedes compartirlo en Facebook, y/o dejar comentarios.

Quieres aprender más en Excel o tienes algún problema que necesita solución?

Puedo ofrecer servicios de consultoría así como cursos personalizados online. Mírate el siguiente enlace si estás interesado/a.



Subscríbete y recibe todos las entradas por email


Para ello regístrate suministrando tu email en el sitio "Recibe los trucos en tu email" del menú de la derecha.

O sígueme por las redes sociales

2 comentarios:

  1. Buenos días: Tengo una petición. La macro para hacer índices me parece magnífica pero sería mucho más útil si al lado de cada celda del indice se pudiera escribir un comentario y ese comentario siguiese al indice. Me explico. Nosotros tenemos un libro con tres hojas. Ejecutamos la macro y nos sale el índice y en la casilla de al lado ponemos un comentario sobre el contenido de la hoja, quedando de esta manera:

    Indice comentarios
    Hoja1 Comentario hoja 1
    Hoja2 Comentario hoja 2
    Hoja3 Comentario hoja 3

    Imagina que por lo que sea borramos la hoja 1 y se actualiza la macro, nos quedaría la cosa así:

    Indice comentarios
    Hoja2 Comentario hoja 1
    Hoja3 Comentario hoja 2
    Comentario hoja 3

    Lo que me gustaría es que el comentario siguiese a la hoja y se suprimiese el comentario correspondiente a la hoja, de tal forma que quedara así:


    Indice comentarios
    Hoja2 Comentario hoja 2
    Hoja3 Comentario hoja 3

    Por otra parte me gustaría que la macro estuviera siempre disponible en cada libro excel que abriera.

    Muchas gracias.

    ResponderEliminar
  2. Buenos días: Tengo una petición. La macro para hacer índices me parece magnífica pero sería mucho más útil si al lado de cada celda del indice se pudiera escribir un comentario y ese comentario siguiese al indice. Me explico. Nosotros tenemos un libro con tres hojas. Ejecutamos la macro y nos sale el índice y en la casilla de al lado ponemos un comentario sobre el contenido de la hoja, quedando de esta manera:

    Indice comentarios
    Hoja1 Comentario hoja 1
    Hoja2 Comentario hoja 2
    Hoja3 Comentario hoja 3

    Imagina que por lo que sea borramos la hoja 1 y se actualiza la macro, nos quedaría la cosa así:

    Indice comentarios
    Hoja2 Comentario hoja 1
    Hoja3 Comentario hoja 2
    Comentario hoja 3

    Lo que me gustaría es que el comentario siguiese a la hoja y se suprimiese el comentario correspondiente a la hoja, de tal forma que quedara así:


    Indice comentarios
    Hoja2 Comentario hoja 2
    Hoja3 Comentario hoja 3

    Por otra parte me gustaría que la macro estuviera siempre disponible en cada libro excel que abriera.

    Muchas gracias.

    ResponderEliminar