Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

excel2003:nascondere un foglio

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

excel2003:nascondere un foglio

Postdi karug64 » 02/12/11 20:11

Salve a tutti.
Con questa istruzione : Sheets("Menu").Visible = False
nascondo il foglio "menu" (primo di 20). Ma quando scorre tutti gli altri fogli fino alla fine e poi ritorno al primo il foglio menu riappare.
Come posso nasconderlo in maniera definitiva ?
Grazie
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22

Sponsor
 

Re: excel2003:nascondere un foglio

Postdi ricky53 » 02/12/11 23:22

Ciao,
puoi inviare il codice che utilizzi perchè
... nascondo il foglio "menu" (primo di 20). Ma quando scorre tutti gli altri fogli fino alla fine e poi ritorno al primo il foglio menu riappare ...

NON MI CONVINCE !!!

Devo capire cosa succede e ... per farlo occorre il codice.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: excel2003:nascondere un foglio

Postdi Flash30005 » 03/12/11 14:28

@Karug64
Hai sicuramente un codice macro che rende di nuovo visibile il foglio "Menu"

Fai una ricerca all'interno del VBA con opzione tutto il progetto e inserendo questa chiave di ricerca:
Codice: Seleziona tutto
Sheets("Menu").Visible


Dovresti trovare almeno una riga-codice così:
Codice: Seleziona tutto
Sheets("Menu").Visible = True
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: excel2003:nascondere un foglio

Postdi karug64 » 03/12/11 23:31

ricky53 ha scritto:Ciao,
puoi inviare il codice che utilizzi perchè
... nascondo il foglio "menu" (primo di 20). Ma quando scorre tutti gli altri fogli fino alla fine e poi ritorno al primo il foglio menu riappare ...

NON MI CONVINCE !!!

Devo capire cosa succede e ... per farlo occorre il codice.


Eccolo:
if msgbox ("Hai terminato ?",vbOKCancel, "Processo terminato") = vbOK Then
Sheets("Foglio3").select
Sheets("Menu").visible = false
endif

Grazie
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22

Re: excel2003:nascondere un foglio

Postdi ricky53 » 03/12/11 23:38

Ciao,
leggi quanto ti ha scritto Flash e ...
io penso che ci sia del codice che viene eseguito, all'attivazione dei vari fogli, e che rende di nuovo visibile il foglio "Menu"

Controlla bene ci sarà qualcos di simile
Codice: Seleziona tutto
Private Sub Worksheet_Activate()
' ... Eventuali istruzioni
    Sheets("Menu").Visible = True
' ... Eventuali istruzioni
End Sub


Se puoi inviarci un tuo file di esempio ... senza dati riservati così andiamo a cercare l'anomalia !!!




CONSIGLIO: quando, nella nella risposta, riporti del codice non lo scrivere ma copialo direttamente da quello presente nella macro
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: excel2003:nascondere un foglio

Postdi Anthony47 » 04/12/11 18:45

Riprendo questa discussione, non sapendo a che punto e' il problema.
Intanto l' istruzione .Visible=False nasconde un foglio diciamo "all' acqua di rose"; qualcosa in piu' si potrebe ottenere con .Visible = xlVeryHidden

Poi il foglio puo' essere rivisualizzato usando non solo il suo nome (es Menu), ma anche il suo indice (es 2) e il suo "Codename" (impostato in fase di progettazione del workbook).

if msgbox ("Hai terminato ?",vbOKCancel, "Processo terminato") = vbOK Then
Sheets("Foglio3").select
Sheets("Menu").visible = false
Endif
Come detto da Ricky, sarebbe opportuno che il codice venga copiato nel vba editor e incollato nel messaggio. Ma soprattutto: questo e' il codice che funziona, quale e' quello che non funziona?

Ma quando scorre tutti gli altri fogli fino alla fine e poi ritorno al primo il foglio menu riappare.
Il codice con cui fai queste cose pero' non lo hai pubblicato...

Se non hai la possibilita' di pubblicare un file di esempio o il codice allora prova a fare un Trova del testo "visible" in tutto il progetto, magari trovi quella che ti interessa.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: excel2003:nascondere un foglio

Postdi Francesco53 » 04/12/11 22:00

Un saluto a tutti,
scusate se intervengo, ma Anthony ha proposto un comando: xlVeryHidden
mi piacerebbe approfondire la conoscenza se possibile.
Grazie
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: excel2003:nascondere un foglio

Postdi Flash30005 » 04/12/11 22:28

Il codice .Visible=False nasconde il foglio ma se vai sul Menu di excel Formato -> Foglio -> Scopri
il foglio torna visibile
mentre se utilizzi .Visible = xlVeryHidden il Foglio da "scoprire" non appare nel Menu ;)

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: excel2003:nascondere un foglio

Postdi ricky53 » 05/12/11 00:35

Ciao
ecco i tre valori che possono essere assegnati alla proprietà "Visible"
Codice: Seleziona tutto
Sheets("Menu").Visible = xlSheetVisible    ' oppure = -1
Sheets("Menu").Visible = xlSheetHidden     ' oppure =  0
Sheets("Menu").Visible = xlSheetVeryHidden ' oppure =  2
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: excel2003:nascondere un foglio

Postdi Anthony47 » 05/12/11 00:46

Per chiudere il cerchio:
-in vba False corrisponde al valore 0
-True al valore -1

Ciao a tutti
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: excel2003:nascondere un foglio

Postdi Francesco53 » 05/12/11 14:33

Grazie a tutti e tre, siete sempre gentili.
Una domanda, che comando usare tramite vba per rendere visibile il foglio?
Sheets("Menu").Visible = xlSheetVisible
è sufficiente?
Grazie
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: excel2003:nascondere un foglio

Postdi ricky53 » 05/12/11 14:39

Ciao,
sinteticamente "SI" ... poi se hai altre necessità devi esporle.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: excel2003:nascondere un foglio

Postdi Francesco53 » 05/12/11 14:43

Ciao Ricky,
era per capire se tra
Sheets("Menu").Visible = xlSheetVisible
e
Sheets("Menu").Visible = True
vi era qualche differenza.
Grazie
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: excel2003:nascondere un foglio

Postdi ricky53 » 05/12/11 14:53

Ciao,
c'è anche questa'altra possibilità
Codice: Seleziona tutto
Sheets("Menu").Visible = -1


Il risultato è che il foglio viene reso visibile impostato la proprietà (".Visible") con un valore (-1) con un booleano (True) con un parametro/attributo (xlSheetVisible)
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: excel2003:nascondere un foglio

Postdi Anthony47 » 05/12/11 23:32

Detto cosi' sembra che ci siano piu' modi per fare la stessa cosa; in realta' di nativo il modo e' quello di usare le costanti 1, -1, 2.
Tuttavia nel vba sono "enumerate" una serie di costanti tra cui
Codice: Seleziona tutto
Name               Value   
xlSheetHidden       0
xlSheetVeryHidden   2
xlSheetVisible     -1

(vedi http://msdn.microsoft.com/en-us/library ... 2%29.aspx; sono riferite al 2007, quelle 2003 non sono piu' in linea)
Inoltre in vba i valori booleani True e False sono anche loro memorizzati come (rispettivamente) -1 e 0 (vedi http://msdn.microsoft.com/en-us/library ... 10%29.aspx)

Queste definizioni rendono equivalenti, nel codice vba, l' uso ad esempio di 0, xlSheetHidden (costante impostata a valore 0) e False (valore memorizzato come 0); e non solo in riferimento alla proprieta' "Visible".

Infine una nota pratica: noto il nome di una costante (es xlSheetVisible) se ne puo' conoscere il valore associato con una interrogazione nella finestra "Immediata" del vba:
-si apre la finestra Immediata (Menu /Visualizza /Finestra Immediata, oppure Contr-g)
-si digita "?xlSheetVisible" (senza apici), piu' Enter
-viene visualizzato il valore equivalente

Ciao a tutti.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "excel2003:nascondere un foglio":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti