Fogli Excel: mostra nascondi con VBA 

 Aprile 23, 2020

By  Damiano Causale

  • Home
  • Blog
  • Fogli Excel: mostra nascondi con VBA

In questo articolo ti mostrerò come mostrare o nascondere i fogli Excel con il linguaggio VBA.

Imparerai ad automatizzare questa operazione costruendo una semplice e efficace macro Excel.

Per la spiegazione delle procedure utilizzerò la versione di Excel 2019 ma le indicazioni sono valide anche per le versioni precedenti di Excel(2007, 2010, 2013 e 2016).

Scoprire fogli di lavoro nascosti

Se utilizzi Excel al lavoro, spesso ti sarà capitato di trovarti nella situazione in cui apri un foglio di lavoro e noti che alcune formule fanno riferimento a un altro foglio di lavoro. Situazione comune e normale.

Tuttavia, altrettanto spesso avrai notato che il foglio di lavoro a cui le formule fanno riferimento non esiste! O almeno così potrebbe sembrare. Dopo un’attenta analisi delle etichette di fogli, non riesci a individuare il foglio che stai cercando. A quel punto, provi a creare un nuovo foglio con lo stesso nome, ma Excel ti dice che il foglio esiste già! Come è possibile?

Scoprire fogli Excel nascosti

La risposta è semplice, anche se non scontata. Excel non visualizza tutti i fogli: il foglio di lavoro è nascosto!

Vediamo come visualizzare i fogli nascosti in Excel.

Per far questo possiamo procedere in due modi:

  • manualmente usando il comando Scopri Excel
  • o automaticamente con il codice VBA.

In questo articolo ti mostrerò come farlo utilizzando entrambi i metodi.


Metodo 1 | Scoprire fogli nascosti Excel con il menu di scelta rapida

Scopriamo la prima modalità: mostrare o nascondere un foglio di lavoro utilizzando il menu di scelta rapida.

Procediamo nel modo seguente.

Portiamo il puntatore del mouse sopra l’etichetta di un qualsiasi foglio e premiamo il tasto destro del mouse. Dal menu di scelta rapida è possibile scegliere la voce Scopri per visualizzare i fogli Excel nascosti o Nascondi per non mostrarli.

Se non sono presenti fogli nascosti il comando Scopri potrebbe essere disabilitato (ATTENZIONE: questo non è sempre vero e tra un po’ scoprirai perché).
Scoprire fogli nascosti Excel con il menu di scelta rapida

Nel caso contrario, Excel mostra la finestra di dialogo Scopri da cui potrai selezionare, uno ad uno i fogli da mostrare.

Scoprire fogli nascosti Excel con il menu di scelta rapida

Prima di passare al secondo metodo vorrei soffermarmi un attimo su un aspetto importante: la verifica dei fogli nascosti.

Verificare se una cartella di lavoro contiene fogli nascosti

Come anticipato in precedenza, il modo più rapido per verificare la presenza di fogli nascosti è utilizzare il menu contestuale o menu di scelta rapida. A questo punto occorre osservare se il comando Nascondi è abilitato o meno.

Se è abilitato, fai un clic per visualizzare i fogli nascosti. Se è disabilitato, la cartella di lavoro non contiene fogli nascosti. Questo non è completamente corretto! Ora ti spiego il motivo.

In Excel esiste un’altra opzione: quella dei fogli “molto nascosti” (dall'inglese Very Hidden).

Pertanto, il metodo appena illustrato non consente di mostrare i fogli “molto nascosti”. Per far questo utilizzeremo il linguaggio delle macro Excel: il VBA.

Prima però vorrei darti alcuni suggerimenti sui motivi per cui non è possibile visualizzare alcuni fogli in Excel.

1| Non sono presenti fogli nascosti nella cartella di lavoro

La ragione più semplice è che non ci sono fogli nascosti nella cartella di lavoro. Pertanto il comando Scopri è disattivato.

2| La cartella di lavoro Excel è protetta

Questa potrebbe essere una delle ragioni per cui non è possibile mostrare o nascondere i fogli Excel.

Infatti, se la struttura della cartella di lavoro è protetta, i comandi del menu contestuale sono disabilitati.

Cartella di lavoro Excel è protetta

Per verificarlo, fai un clic sulla scheda Revisione e verifica, all'interno del gruppo Proteggi se il comando Proteggi cartella di lavoro risulta attivo. In caso affermativo, la cartella di lavoro è protetta.

Per rimuovere la protezione, fai un clic sul pulsante e digita la password qualora ti venga richiesta.

Proteggi cartella di lavoro Excel

Se vuoi sapere come proteggere un foglio di lavoro, leggi il seguente articolo: Bloccare celle Excel: scopri come

3| I fogli di lavoro sono "molto nascosti"

Un altro motivo per cui il comando Scopri potrebbe risultare disabilitato, pur in presenza di fogli nascosti, dipende dal fatto che a tutti i fogli è stata assegnata la proprietà xlSheetVeryHidden.

Per mostrare i fogli “molto nascosti”, è necessario modificare la proprietà da xlSheetVeryHidden a xlSheetHidden o xlSheetVisible all'interno dell’Editor di Visual Basic.

Per richiamare l’Editor fai un clic sul tasto destro, dopo avere posizionato il puntatore del mouse sopra un’etichetta di un qualsiasi foglio di lavoro. Successivamente fai un clic sul comando Visualizza codice.

Fogli Excel di lavoro "molto nascosti"

Metodo 2 | Scoprire fogli nascosti Excel VBA

Ora passiamo alla seconda modalità: mostrare e nascondere i fogli di lavoro con il VBA in Excel.

Quando la cartella di lavoro contiene più fogli di lavoro nascosti, scoprirli uno ad uno potrebbe richiedere molto tempo. Fortunatamente, è possibile automatizzare questo processo utilizzando le macro Excel.

Per far questo inserisci un modulo di codice VBA e digita la seguente macro.

Scoprire fogli nascosti excel vba

Questa piccola macro rende visibili, con un semplice clic, tutti i fogli nascosti in una cartella di lavoro.

Vuoi saperne di più sulle macro? Allora potrebbero interessarti i seguenti articoli:

Ora vediamo come compiere l’operazione contraria: nascondere tutti i fogli di lavoro.

Excel VBA nascondere tutti i fogli

Infine, la seguente macro ti consente di nascondere tutti i fogli ad eccezione di quello attivo ovvero quello che hai selezionato (IMPORTANTE: Excel non ti consente di nascondere tutti i fogli pertanto è necessario visualizzarne almeno uno).

Grazie a questa breve macro potrai visualizzare solo un foglio Excel.

Excel VBA nascondere tutti i fogli

Potrebbe interessarti anche il seguente articolo:

Macro Excel: usare i cicli VBA in azienda

Spero che abbia trovato questo articolo interessante ma soprattutto utile. Buon lavoro!

Vuoi imparare a utilizzare il linguaggio Excel VBA?

Basta con i lavori noiosi e ripetitivi! Grazie al VBA puoi far lavorare Excel al tuo posto!

Ho registrato per te un corso interamente dedicato alle Macro e al VBA.

Attraverso degli esempi pratici, ti introdurrò, al mondo delle Macro di Excel illustrandoti tutto il potenziale per automatizzare le tue attività di lavoro quotidiane.

Cosa aspetti?

Sfrutta tutto il potenziale di Excel con il corso Macro e VBA!

Damiano Causale


Mi chiamo Damiano Causale, istruttore Microsoft certificato, per lavoro aiuto aziende e privati nell'utilizzo di Excel.

Damiano Causale

Your email address will not be published. Required fields are marked

  1. Buonasera non sono un grande intenditore di macro ma mi piace creare fogli excel con formule gigantesche , ho creato un un foglio principale con una serie di nomi che schiacciando la casellina del nome fa un collegamento ipertestuale con un altro foglo e cosi via per una ventina circa di fogli collegati. Bene! vorrei nascondere tutti questi fogli, ma non manualmente perché poi non fa più il collegamento ipertestuale se sono nascosti. come posso fare? Gentilissimo e grazie

    1. Salve Massimo,
      per nascondere o mostrare i fogli potresti utilizzare la seguente macro:

      Sub MostraNascondi()
      Dim i As Integer
      For i = 2 To Sheets.Count
      If Sheets(i).Visible = False Then
      Sheets(i).Visible = True
      Else
      Sheets(i).Visible = False
      End If
      Next i
      End Sub

      Infine, associa la macro ad un pulsante.

      1. Buonasera,
        sto scorrendo i vari tutorial sul vba excel per trovare una soluzione pratica ad un problema specifico.
        Ho un file che una volta ultimato avrà al suo interno (stimo) dai 200 ai 300 fogli nascosti.
        Esiste la possibilità di creare una macro che possa (su richiesta) aprire un foglio ben preciso

        1. Salve Stefano,
          ecco un suggerimento per poter utilizzare una finestra di dialogo attraverso il quale inserire il nome del foglio da mostrare:
          Sub MostraFoglio()
          Nome = InputBox("Inserire il nome del foglio")
          Sheet(Nome).Visible = True
          Sheet(Nome).Select
          End Sub

          Spero il suggerimento ti sia utile.
          Saluti
          Damiano

          1. purtroppo non riesco a farlo funzionre.
            Mi dice che c'è un errore di compilazione
            Sub o Function non definita

          2. Ciao Stefano,
            ecco il codice che potrai copiare e incollare all'interno di un modulo:

            Sub Mostra_Fogli()
            Dim Foglio As Worksheet
            For Each Foglio In Worksheets
            Foglio.Visible = True
            Next Foglio
            End Sub

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}