Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

collegamenti a fogli nascosti

Ultimo Aggiornamento: 04/05/2018 16:05
Post: 16
Registrato il: 15/07/2014
Città: FIRENZE
Età: 52
Utente Junior
2010
OFFLINE
13/04/2017 12:44

Buongiorno!
Ho la necessità di nascondere dei fogli....
Però questi fogli nascosti (nell'esempio sono i fogli A, B, C, D, E, F) devono essere aperti cliccando sul relativo collegamento ipertestuale inserito in un foglio non nascosto (nell'esempio è il foglio MASTER).
Poi una volta che si è aperto, ad esempio il foglio A, devo tornare cliccando sulla cella BACK, inserita nel foglio A, al foglio MASTER nascondendo nuovamente il foglio A....
non so se sono stata chiara...
grazie
[SM=x423017]
valentina
Post: 3.080
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
13/04/2017 14:26

Ciao Valentina è un piacere reincontrarti [SM=g27828] .

Ti allego il tuo file dove mi sono permesso di modificarlo un po'; sul foglio MASTER ho eliminato i collegamenti ipertestuali sostituendoli con la macro che vedi sotto

vb
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("C1:C6")) Is Nothing Then
    Select Case Target.Value
        Case Is = "ZORRO"
            Sheets("A").Visible = True
            Sheets("A").Activate
        Case Is = "SPIDER"
            Sheets("B").Visible = True
            Sheets("B").Activate
        Case Is = "SUPERMAN"
            Sheets("c").Visible = True
            Sheets("c").Activate
        Case Is = "WONDER WOMAN"
            Sheets("D").Visible = True
            Sheets("D").Activate
        Case Is = "CAPITAN AMERICA"
            Sheets("E").Visible = True
            Sheets("E").Activate
        Case Is = "IRON MAN"
            Sheets("F").Visible = True
            Sheets("f").Activate
    End Select
End If
Cancel = True
End Sub


E' sufficiente che si faccia doppio clic su una delle celle da C1 a C6 e verrai indirizzata al relativo foglio

Sugli altri fogli ho mantenuto il collegamento ipertestuale in G24 ed ho inserito quest'altra macro

vb
Private Sub Worksheet_Deactivate()
Sheets("B").Visible = False
End Sub


che al disattivarsi del foglio lo nasconde nuovamente.

Prova un po' e fai sapere.

P.S. Ti consiglierei di denominare i fogli non A, B, C etc. ma con il contenuto delle celle C1:C6; in tal modo il codice della prima macro potrebbe essere molto più sintetico.
[Modificato da alfrimpa 13/04/2017 14:34]

Alfredo
Post: 16
Registrato il: 15/07/2014
Città: FIRENZE
Età: 52
Utente Junior
2010
OFFLINE
13/04/2017 14:33

GRAZIE! Ora vedo di adattarlo al mio lavoro!
GRAZIE DAVVERO
valentina
Post: 17
Registrato il: 15/07/2014
Città: FIRENZE
Età: 52
Utente Junior
2010
OFFLINE
14/04/2017 00:12

Ciao Alfredo,
funziona alla grande!!!!
Ancora grazie!!!
[SM=x423028]
valentina
Post: 18
Registrato il: 15/07/2014
Città: FIRENZE
Età: 52
Utente Junior
2010
OFFLINE
14/04/2017 10:27

Scusami Alfredo,
vorrei modificare una cosa, vorrei poter cliccare anche su altre celle (magari anche unite) di altre colonne per aprire altri fogli nascosti.
avrei trovato questo sistema

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Set myRange = Range("A:C")
If Not Intersect(Target, myRange) Is Nothing Then
Select Case Target.Value

perchè anche in colonna A e in colonna B dovrei cliccare su alcune celle e aprire dei fogli nascosti PERO' funziona male infatti se le celle sono unite o se il contenuto non rimanda a nessun foglio mi dà errore


Poi sarebbe possibile far comparire la manina invece della freccia quando si passa sopra alle celle che rimandano al foglio nascosto?

[SM=x423017]
valentina
Post: 3.092
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
14/04/2017 11:09

Ciao Valentina

Ora sono in partenza e sino a martedì sarò senza pc ma tu allega un file di esempio spiegando bene quello che vuoi fare.

Non ho ben capito la tua ultima richiesta; puoi chiarire meglio?

Alfredo
Post: 19
Registrato il: 15/07/2014
Città: FIRENZE
Età: 52
Utente Junior
2010
OFFLINE
14/04/2017 12:00

ok! poi mi ero anche intrecciata con le spiegazioni...
vorrei cliccare su CITTA' del foglio MASTER ed andare al foglio x nascosto, vorrei cliccare su SEDE A ed andare al foglio y nascosto
poi con i back tornare al foglio MASTER.
Mi piacerebbe che quando sul foglio master si passa con il mouse sopra le celle che contengono le parole che rimandano ai fogli nascosti venisse la manina invece della freccia (ad esempio SEDE o ZORRO, ma non SEDE B)
GRAZIE!!
BUONA PASQUA E BUON VIAGGIO!
ciao
Valentina
valentina
Post: 1.182
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
14/04/2017 12:19

Ciao a tutti
solo per ricordare che non è necessario inserire un evento deactivate su ciascun foglio, ma basta inserirne soltanto uno in ThisWorkbook:

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)

eventualmente salvaguardando il MASTER se necessario.

saluti
Domenico
Win 10 - Excel 2016
Post: 3.095
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
14/04/2017 12:21

Si Domenico hai perfettamente ragione e buona Pasqua

Alfredo
Post: 3.099
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
18/04/2017 10:50

Ciao Valentina

Ho ripreso in mano il tuo file ed ho inserito nel foglio MASTER il codice che, selezionando la cella A1, ti porta al foglio X.

Non ho capito poi cosa vorresti fare dopo; ammettendo che sei sul foglio X selezionando la cella C10 dove vuoi andare (e così per tutti i fogli).

Ti avevo consigliato di denominare i fogli non con le lettere ma con i nomi delle città (o altro.

Cerca di spiegare meglio.

Per quanto riguarda la tua seconda domanda penso che risolvi facilmente inserendo un commento sulle celle interessate.

Alfredo
Post: 20
Registrato il: 15/07/2014
Città: FIRENZE
Età: 52
Utente Junior
2010
OFFLINE
18/04/2017 11:48

Buongiorno Alfredo!!!!
selezionando la cella C10 non deve succedere niente, mentre selezionando la cella G24 voglio tornare al foglio MASTER (mi avevi suggerito il collegamento ipertestuale e mi sembra vada bene).
Nel lavoro che sto facendo i fogli li ho rinominati e come mi hai suggerito (hanno gli stessi nomi contenuti nelle corrispondenti celle del foglio che nell'esempio avevo chiamato MASTER).
Nel foglio MASTER "vero" ho l'organigramma della mia azienda:
nella colonna C in ciascuna cella ho le STRUTTURE ORGANIZZATIVE
nella colonna B ho unito delle celle ed inserito i nomi delle AREE
nella colonna A ho unito delle celle ed inserito i nomi dei dipartimenti.
Vorrei cliccare sui nomi delle colonne A oppure B oppure C e rimandare a fogli nascosti che contengono report di attività e spese.
I fogli li vorrei nascondere perché alla fine saranno un centinaio...
In allegato un nuovo esempio nella speranza che sia più chiaro....


[SM=x423063]
GRAZIE!!!!
valentina
Post: 3.101
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
18/04/2017 14:29

Valentina comincio col dire che in un file vi deve essere un'unica procedura Worksheet_BeforeDoubleClick

Tu ne hai messe tre e questo non è ammesso.

A dopo.
[Modificato da alfrimpa 18/04/2017 14:29]

Alfredo
Post: 0
Registrato il: 03/05/2018
Città: MILANO
Età: 20
Utente Junior
2016
OFFLINE
03/05/2018 16:43

Nascondere sheet alla chisura
Ciao!
utilissimo il post.. ho applicato anche io la macro al mio modellino. Ho eliminato la macro che nasconde i singoli sheet non appena diventano disattivi perchè, per come verrà utilizzato il file, risulterebbe scomodo.
Avrei però la necessità di aggiungere una macro sull'intera cartella che ALLA SOLA CHIUSURA DEL FILE mi rinasconda tutti gli sheet aperti, ad esclusione del folgio "master" in cui ho raccolto l'indice dei collegamenti.
Riuscireste d aiutarmi??
grazieeeee
Post: 3.731
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
04/05/2018 16:05

Ciao Ele

Sarebbe stato meglio se avessi aperto una nuova discussione comunque potresti provare con questa macro da inserire nel modulo di Questa_cartella_di_lavoro

vb
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Integer
For i = 1 To Sheets.Count
    If Sheets(i).Name <> "Master" Then
        Sheets(i).Visible = False
    End If
Next i
End Sub


che, mi pare, non necessiti di spiegazioni.

Alfredo
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 22:20. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com