Criação de índice d...
 
Notifications
Clear all

Criação de índice de sheets

5 Posts
2 Usuários
0 Reactions
667 Visualizações
(@leohass)
Posts: 10
Active Member
Topic starter
 

Caros,

Abusando um pouco de vocês, as tabelas separadas por sheet no meu caso geram cerca de 500 sheets, o que está correto, só que eu precisava criar algum índice com hiperlink que ao clicar na tabela, fosse direto para a sheet correspondente.

Tem alguma forma de eu fazer um índice na primeira sheet considerando as sheets seguintes, com hiperlink ou qualquer coisa que faça referência, e ao clicar vá para a sheet correspondente?

Segue um exemplo.

Nesse exemplo, o título das sheets deviam considerar só a linha onde está "tab.X)...", ou seja, a segunda linha da colunas A1:J1 que estão mescladas. Mas mesmo que considerasse todo o valor da A1:J1 já seria muito útil, os excessos, como são iguais em toda a tabela, eu retiraria através do Substituir.

Poderiam me ajudar nisso?

Obrigado!

Abs,

 
Postado : 29/04/2013 8:03 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

No momento não tenho como ver seu exemplo, ms de uma olhada no link abaixo tem vários exemplos, o site é em Frances, mas é só usar um tradutor online

Les liens hyper-textes

http://boisgontierjacques.free.fr/pages ... textes.htm

Pesquise no Forum e encontrara varios exemplos tambem.

[]s

 
Postado : 29/04/2013 8:51 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não sei se entendi, mas veja se lhe auxilia:

Sub VaiLink()
'Lista as planilhas e aplica link para as mesmas
For r = 2 To Sheets.Count
    Range("C" & r).Select
    MsgBox r
    nome = "'" & Sheets(r).Name & "'" & "!A1"
    Sheets(1).Range("C" & r) = Sheets(r).Name
    Range("C" & r).Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        nome, TextToDisplay:=Sheets(r).Name
    Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
   Sheets("Índice").Select
Next
End Sub

Sub RetornaLink()
'Aplica link de retorno nas planilhas
For Each sh In Sheets
    If sh.Name <> "Índice" Then
        sh.Activate
        nome = "'" & "Índice" & "'" & "!c2"
        Range("L2").Select
        Range("L2").Value = "Retorno"
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        nome, TextToDisplay:="Retorno"
        Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
    End If
Next
End Sub
 
Postado : 29/04/2013 9:28 am
(@leohass)
Posts: 10
Active Member
Topic starter
 

Reinaldo, o que vc fez é perfeito...

Porém, no índice o nome ficou com o nome da sheet, eu precisava que o nome fosse o da coluna A1:J1 de cada sheet.

 
Postado : 29/04/2013 12:08 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Pode ser assim:

Sub VaiLink()
    'Lista as planilhas e aplica link para as mesmas
    For r = 2 To Sheets.Count
        Range("C" & r).Select
        nome = "'" & Sheets(r).Name & "'" & "!A1"
        Sheets(1).Range("B" & r) = Sheets(Sheets(r).Name).Range("A1")
        Sheets(1).Range("C" & r) = Sheets(r).Name
        Range("C" & r).Select
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
            nome, TextToDisplay:=Sheets(r).Name
        Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
       Sheets("Índice").Select
    Next
    End Sub
 
Postado : 29/04/2013 12:19 pm