Collegamento ipertestuale fogli nascosti
Hai un problema con Excel? 
Collegamento ipertestuale fogli nascosti
di Vittorino (utente non iscritto) data: 09/12/2014 21:59:05
Ho una cartella excel con 20 fogli. Il primo foglio è il foglio MENU, da cui aprire con collegamento ipertestuale uno degli altri 19 fogli. Il problema è che i 19 fogli sono nascosti: come fare ad aprire i fogli nascosti con il semplice clik sul collegamento ipertestuale, così come faccio abitualmente con i fogli che non sono nascosti?. Mi hanno detto che occorre una macro, ma non so quale e dove poi inserirla. Grazie.
di Raffaele_53 (utente non iscritto) data: 10/12/2014 09:21:37
Da provare
Vai sul foglio Menu, premi ALT+F11 e incolla sulla parte destra questo codice.
Salva XLSM se hai 2007 o maggiori
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim X As Long, Nome As String
X = ActiveCell.Row
Nome = Cells(X, 1)' si intende la colonna A
Sheets(Nome).Visible = True
Sheets(Nome).Activate
End Sub
Private Sub Worksheet_Activate()
Dim X As Long
For X = 2 To Sheets.Count
Sheets(X).Visible = False
Next X
End Sub |
di Lucas87 data: 10/12/2014 09:26:22
Ciao
Prova questo.
Da mettere in ThisWorkbook (Questa_cartella_di_lavoro)
Nasconde anche il foglio da cui viene lanciato il collegamento.
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
Application.EnableEvents = False
a = Split(Target.SubAddress, "!")
Sheets(a(0)).Visible = True
Sh.Visible = False 'nasconde il foglio di partenza
Target.Follow
Application.EnableEvents = True
End Sub
|
di vittorino (utente non iscritto) data: 10/12/2014 15:42:09
Provo le due soluzioni e intanto vi ringrazio.
di Vittorino (utente non iscritto) data: 10/12/2014 16:50:42
Ho provato i vostri suggerimenti. Quello di Raffaele_53 non funziona, in quanto mi nasconde tutti i fogli, compreso il foglio menu, e non c'è modo di scoprirli, se non cancellando il codice vba.
Quello di Lucas87 funziona solo se il foglio da aprire è scoperto; se il foglio da aprire è nascosto invece non lo apre. Vi ringrazio in anticipo per ogni altro suggerimento...
di Raffaele_53 (utente non iscritto) data: 10/12/2014 17:50:53
Alcune cose ho errato...
A) io ho in colonna A ho solo il testo del foglio (tu usi dei collegamenti ipertestuale che non saprei?, per aprire un foglio)
B) Il foglio menu se è posizionato tutto a sinistra come foglio(1), non lo nasconde (ecco il perchè inizia da due--> For X = 2 To Sheets.Count)
C) Se desideri nascondere determinati fogli (mà non tutti)
Private Sub Worksheet_Activate() ' si attiva cliccando sul foglio Menu (se desideri non usarla)
Dim X As Long, Nome As String
For X = 2 To Sheets.Count 'oltre al foglio(1)= Menu, casomai For X = 1 To Sheets.Count
Nome = Sheets(X).Name
If Nome <> "yy" And Sheets(X).Name <> "yyy" Then ' Dove metto degli "AND" per ogni foglio che non desidero chiudere. Ex i foglio yy e yyy
Sheets(Nome).Visible = False
End If
Next X
End Sub |
di vittorino (utente non iscritto) data: 10/12/2014 18:34:15
Ti ringrazio. Ho trovato una soluzione che mi sembra soddisfacente. In partica, ho creato due macro: la macro1 mi scopre tutti i fogli nascosti, in modo che io possa aprirli comodamente con il collegamento ipertestuale. Fatto questo, con la macro2 nascondo tutti i fogli che ho deciso di nascondere (ho creato un elenco di figli da nascondere e con il registratore delle macro ho creato la macro che me li nasconde). Per completare il tutto ho creato due pulsanti di comando sul foglio Menu, per lanciare le due macro. Lo so, come soluzione non è brillantissima, comunque mi funziona egregiamente. Ringrazio tutti e vi saluto cordialmente (e alla prossima...)
Vuoi Approfondire?