Come nascondere/mostrare un foglio utilizzando vba?

Puoi utilizzare il codice VBA per nascondere o mostrare un foglio in Excel. Quando fai clic con il pulsante destro del mouse sulla scheda del foglio, puoi vedere l’opzione per nasconderlo o mostrarlo e la stessa cosa che puoi fare con un codice VBA.

In questo articolo esamineremo alcuni dei modi e dei metodi che possiamo utilizzare.

Codice VBA per nascondere un foglio

Supponiamo che tu voglia nascondere “Foglio1” dalla cartella di lavoro attiva. In questo caso dovresti usare un codice come questo.

 Sheets("Sheet1").Visible = False

Nel codice sopra, hai fatto riferimento a Foglio1, hai utilizzato la proprietà visibile e l’hai modificata in false.

Crea una foglia molto nascosta

Esiste un’altra opzione che puoi utilizzare per creare un foglio molto nascosto che non può essere facilmente nascosto dall’utente.

Nascondi un foglio in base al valore di una cella

Ok, se vuoi utilizzare il valore di una cella invece di utilizzare direttamente il nome del foglio nel codice, puoi fare riferimento a questa cella.

 Sheets(Range("A1").Value).Visible = True

Questo codice fa riferimento alla cella A1 e utilizza il valore lì per fare riferimento al foglio che desideri nascondere.

Link utili: Esegui una macroRegistratore di macroVisual Basic EditorManuale delle macro personali

Controlla il foglio prima di nasconderlo

Puoi anche usare un piccolo codice come questo per controllare il foglio di cui vuoi nascondere o meno gli output.

 Sub vba_hide_sheet() Dim sht As Worksheet For Each sht In ThisWorkbook.Worksheets If sht.Name = "Sheet1" Then sht.Visible = False Exit Sub End If Next sht MsgBox "Sheet not found", vbCritical, "Error" End Sub

Il codice sopra utilizza FOR EACH LOOP + IF STATEMENT per scorrere ogni foglio nella cartella di lavoro. E controlla il foglio che vuoi nascondere.

Nascondi tutti i fogli (tranne ActiveSheet)

Ora c’è una cosa che devi capire: non puoi nascondere tutte le foglie. Dovrebbe esserci una foglia sempre visibile.

 Sub vba_hide_sheet() Dim ws As Worksheet For Each ws In ThisWorkbook.Sheets If ActiveSheet.Name <> ws.Name Then ws.Visible = False End If Next ws End Sub

Il codice precedente scorre tutti i fogli della cartella di lavoro, quindi abbina il nome di ciascun foglio al nome del foglio attivo e lo nasconde se non corrisponde.

Codice VBA per visualizzare un foglio

Per visualizzare un foglio, è necessario modificare la proprietà visibile su TRUE.

 Sheets("Sheet1").Visible = False

Se il foglio che vuoi visualizzare è già visibile, questo codice non mostrerà alcun errore. Ma se questo foglio non esiste, riceverai un errore di runtime “9”.

codice-vba-per-mostrare-un-foglio

Usa VBA per mostrare tutti i fogli nascosti

Immagina di avere diversi fogli nascosti in una cartella di lavoro e se vuoi nasconderli manualmente, devi farlo uno per uno.

Ma ecco il codice che fa questo in una volta sola.

 Sub vba_unhide_sheet() Dim ws As Worksheet For Each ws In ThisWorkbook.Sheets If ws.Visible = False Then ws.Visible = True End If Next ws End Sub

Passa attraverso ogni foglia e la smaschera.

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *