Foros del Web » Soporte técnico » Ofimática »

Crear un índice de hojas en libro Exel

Estas en el tema de Crear un índice de hojas en libro Exel en el foro de Ofimática en Foros del Web. Alguien que me ayude a perfecccionar esto: El siguiente código deberia crear automáticamente un índice con vínculos a todas las hojas que estén incluidas en ...
  #1 (permalink)  
Antiguo 06/09/2007, 09:43
Avatar de lupirata  
Fecha de Ingreso: junio-2006
Ubicación: La Ceiba
Mensajes: 34
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Crear un índice de hojas en libro Exel

Alguien que me ayude a perfecccionar esto:

El siguiente código deberia crear automáticamente un índice con vínculos a todas las hojas que estén incluidas en el libro.

pero no logro hecerlo funcionar, como lo corrijo?

Private Sub Worksheet_Activate ( )
Dim wSheet As Worksheet
Dim L As Long
T . - 1
With Me
. columns (1) . Cf earContents
. Cel ts (1, 1) = ,, ÍNDTCE i l
. c e 1 1 s ( 1 , 1) .Name = " I n d i c e "
Eno watn
For Each wsheet In worksheets
If wsheet.Name <>Me.Name Then
L = L + l -
With t¡rsheet
.Range("A1 ').Name = " I n i c i o i l & ! ¡ / s h e e t . I n d e x
. H y p e r l i n k s . A d d Anchor:=.Range ( t r A 1 " ) , Address: =" " , -
subAddresst=rri¡¿i..tr, TextToDisplav:="vofver al índice"
F;nd $¡ 1t:n
Me.Hyperlinks.Add Anchor:=Me.Cefls (1, 1), A d d r e s s : = " " , -
SubAddress:=nIn'c o" & wsheet. Index, TextToDisplay:=wsheet.Name
EJNO I I
Next \rsheeE
.E;Nd SUjf
__________________
:pirata: __ En cultura y en saber se pierde lo q se guarda y se gana lo q se da
  #2 (permalink)  
Antiguo 06/09/2007, 16:41
Avatar de abrahamvj  
Fecha de Ingreso: julio-2006
Ubicación: Lima, Peru
Mensajes: 708
Antigüedad: 13 años, 1 mes
Puntos: 18
Re: Crear un índice de hojas en libro Exel

Intenta enviar nuevamente el codigo, ya que salio algo enredado

Abraham
  #3 (permalink)  
Antiguo 06/09/2007, 19:39
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 12 años, 5 meses
Puntos: 88
De acuerdo Crear un índice de hojas en libro Excel

Intenta con el siguiente código que ubica el índice de hojas según lo que se indique en: Set PivotCell = [E2]

Código:
Private Sub Worksheet_Activate()
Dim PivotCell As Range, Tmp As Range
Set PivotCell = [E2]
With PivotCell
    .EntireColumn.ClearContents: .FormulaR1C1 = "Índice"
    .Font.Bold = True: .HorizontalAlignment = xlCenter
End With

For Each Hoja In Application.Sheets
    If ActiveSheet.Name = Hoja.Name Then GoTo Loop1
    Set Tmp = PivotCell.Offset(200, 0).End(xlUp).Offset(1, 0)
    Tmp = Hoja.Name
    ActiveSheet.Hyperlinks.Add Anchor:=Tmp, Address:="", _
        SubAddress:="'" & Hoja.Name & "'!A1"
Loop1:
Next Hoja
    
    PivotCell.EntireColumn.AutoFit
Set Tmp = Nothing
Set PivotCell = Nothing
End Sub
No dejes de comentar si esto es lo que estás buscando.
Saludos
  #4 (permalink)  
Antiguo 07/09/2007, 16:35
Avatar de lupirata  
Fecha de Ingreso: junio-2006
Ubicación: La Ceiba
Mensajes: 34
Antigüedad: 13 años, 3 meses
Puntos: 0
De acuerdo Re: Crear un índice de hojas en libro Exel

Muchas gracias abrahamvj.
muchas gracias mrocf, justamente eso es lo que queria hacer.

les agradezco mucho a todos.

otra cosilla:

1 q codigo puedo usar para q en las otras hojas me cree un vinculo en la celda A1 q me haga retornar a la hoja indice.

2 a donde encuentro un manual, tutorial o algo para aprender hacer codigos.

les agradezco nuevante.

slds
__________________
:pirata: __ En cultura y en saber se pierde lo q se guarda y se gana lo q se da
  #5 (permalink)  
Antiguo 05/12/2009, 08:58
 
Fecha de Ingreso: diciembre-2009
Mensajes: 2
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Crear un índice de hojas en libro Excel

Cita:
Iniciado por mrocf Ver Mensaje
Intenta con el siguiente código que ubica el índice de hojas según lo que se indique en: Set PivotCell = [E2]

Código:
Private Sub Worksheet_Activate()
Dim PivotCell As Range, Tmp As Range
Set PivotCell = [E2]
With PivotCell
    .EntireColumn.ClearContents: .FormulaR1C1 = "Índice"
    .Font.Bold = True: .HorizontalAlignment = xlCenter
End With

For Each Hoja In Application.Sheets
    If ActiveSheet.Name = Hoja.Name Then GoTo Loop1
    Set Tmp = PivotCell.Offset(200, 0).End(xlUp).Offset(1, 0)
    Tmp = Hoja.Name
    ActiveSheet.Hyperlinks.Add Anchor:=Tmp, Address:="", _
        SubAddress:="'" & Hoja.Name & "'!A1"
Loop1:
Next Hoja
    
    PivotCell.EntireColumn.AutoFit
Set Tmp = Nothing
Set PivotCell = Nothing
End Sub
No dejes de comentar si esto es lo que estás buscando.
Saludos
hola mrocf, tu codigo funciona perfectamente bien, pero yo tengo necesidad de hacer una variacion y no se como hacerlo, lo que requiero es que el indice de las hojas se genere a 3 columnas, una con el nombre de la hoja, otra con el cotenido de la celda "D8" y finalmente otra columna con el contenido de la celda "E9". ¿Serà posible hacerlo y como seria? Por favor si puedes agregar el codigo, con comentarios para entender mas de que va y empezar a adentrarme en la programacion de macros.

De antemano muchas gracias por ayudarme.
  #6 (permalink)  
Antiguo 26/09/2010, 10:11
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1
Antigüedad: 9 años
Puntos: 0
Respuesta: Crear un índice de hojas en libro Excel

Cita:
Iniciado por Prodian Ver Mensaje
hola mrocf, tu codigo funciona perfectamente bien, pero yo tengo necesidad de hacer una variacion y no se como hacerlo, lo que requiero es que el indice de las hojas se genere a 3 columnas, una con el nombre de la hoja, otra con el cotenido de la celda "D8" y finalmente otra columna con el contenido de la celda "E9". ¿Serà posible hacerlo y como seria? Por favor si puedes agregar el codigo, con comentarios para entender mas de que va y empezar a adentrarme en la programacion de macros.

De antemano muchas gracias por ayudarme.


hola, soy nueva en este foro

encontraste una respuesta para esta pregunta de crear el indice a 3 columnas?? es exactamente lo mismo que estoy buscando

gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:58.