26 marzo 2024
Contribuisci alla categoria Microsoft 365 e Office!
9 febbraio 2024
I principali collaboratori di Microsoft 365 e Office:
Gestione dei fogli
Ho trovato un file chiamato gestione fogli sul sito di Mauro, (vedi qui: http://www.maurogsc.eu/esempiforum11/esempiforum11.aspx) che si è rivelato utilissimo nel tenere nascosti i vari fogli che compongono una cartella. Volevo chiede, c'è la possibilità nel momento che seleziono la cella fare apparire 3 fogli invece di uno solo? In pratica quando vado a digitare il foglio che ho chiamato Gennaio, oltre a quel foglio mi deve apparire anche il foglio1 e il foglio11. La stessa cosa per quando riguarda gli altri mesi. Spero di essere stato chiaro.
Segnala abuso
Grazie.
Il contenuto segnalato è stato inviato
Mauro grazie della risposta, funziona perfettamente.
Devi solo aiutarmi a capire cosa devo aggiungere al codice per fare in modo che possa visualizzare sempre tre fogli per volta oltre a quello inserito da te esempio:
Indice, Foglio2 e Foglio22
Indice, Foglio3 e Foglio33
Indice, Foglio4 e Foglio44
Indice, Foglio5 e Foglio55
Indice, Foglio6 e Foglio66
Indice, Foglio7 e Foglio77
Indice, Foglio8 e Foglio88
Indice, Foglio9 e Foglio99
Indice, Foglio10 e Foglio101
Indice, Foglio11 e Foglio111
Indice, Foglio12 e Foglio121
E' solo un esempio che illustra quello che mi servirebbe, poi per i nomi dei fogli non ci saranno problemi. Grazie
Prova:
Public Sub mVisualizzaFoglio(ByVal shName As String)
Dim sh As Worksheet
Application.ScreenUpdating = False
If shName = "Solo Indice" Then
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> "Indice" Then
sh.Visible = xlSheetVeryHidden
End If
Next
ElseIf shName = "Tutti i fogli" Then
For Each sh In ThisWorkbook.Worksheets
sh.Visible = xlSheetVisible
Next
Else
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> "Indice" Then sh.Visible = xlSheetVeryHidden
Next
For Each sh In ThisWorkbook.Worksheets
Select Case shName
Case "Foglio2"
With ThisWorkbook
.Worksheets(shName).Visible = xlSheetVisible
.Worksheets("Foglio22").Visible = xlSheetVisible
.Worksheets("Indice").Activate
End With
Exit For
Case "Foglio3"
With ThisWorkbook
.Worksheets(shName).Visible = xlSheetVisible
.Worksheets("Foglio33").Visible = xlSheetVisible
.Worksheets("Indice").Activate
End With
Exit For
Case "Foglio4"
With ThisWorkbook
.Worksheets(shName).Visible = xlSheetVisible
.Worksheets("Foglio44").Visible = xlSheetVisible
.Worksheets("Indice").Activate
End With
Exit For
'eccetera eccetera
Case Else
'
End Select
Next
End If
Application.ScreenUpdating = True
Set sh = Nothing
End Sub
Qui il file utilizzato per l'esempio: http://www.maurogsc.eu/esempiforum12/gestionefogli_1201.zip
Mauro Gamberini
Microsoft© MVP (Excel)
http://www.maurogsc.eu
Segnala abuso
Grazie.
Il contenuto segnalato è stato inviato
La risposta è risultata utile?
Siamo spiacenti che questo non sia stato utile.
Ottimo. Grazie per il tuo feedback.
Quanto sei soddisfatto di questa risposta?
Grazie per il feedback, ci aiuta a migliorare il sito.
Quanto sei soddisfatto di questa risposta?
Grazie per il tuo feedback.
Ciao a tutti,
Ho trovato un file chiamato gestione fogli sul sito di Mauro, (vedi qui: http://www.maurogsc.eu/esempiforum11/esempiforum11.aspx) che si è rivelato utilissimo nel tenere nascosti i vari fogli che compongono una cartella. Volevo chiede, c'è la possibilità nel momento che seleziono la cella fare apparire 3 fogli invece di uno solo? In pratica quando vado a digitare il foglio che ho chiamato Gennaio, oltre a quel foglio mi deve apparire anche il foglio1 e il foglio11. La stessa cosa per quando riguarda gli altri mesi. Spero di essere stato chiaro.
Grazie per aver visitato il mio sito.
Prova così:
Public Sub mVisualizzaFoglio(ByVal shName As String)
Dim sh As Worksheet
Application.ScreenUpdating = False
If shName = "Tutti i fogli" Then
For Each sh In ThisWorkbook.Worksheets
sh.Visible = xlSheetVisible
Next
ElseIf shName = "Solo Indice" Then
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> "Indice" Then
sh.Visible = xlSheetVeryHidden
End If
Next
Else
For Each sh In ThisWorkbook.Worksheets
Select Case sh.Name
Case "Indice", shName, "Foglio1", "Foglio11"
sh.Visible = xlSheetVisible
ThisWorkbook.Worksheets("Indice").Activate
Case Else
sh.Visible = xlSheetVeryHidden
End Select
Next
End If
Application.ScreenUpdating = True
Set sh = Nothing
End Sub
Il codice fa riferimento al file sul sito. L parte modificata è questa:
Case "Indice", shName, "Foglio1", "Foglio11"
sh.Visible = xlSheetVisible
ThisWorkbook.Worksheets("Indice").Activate
Mauro Gamberini
Microsoft© MVP (Excel)
http://www.maurogsc.eu
Segnala abuso
Grazie.
Il contenuto segnalato è stato inviato
La risposta è risultata utile?
Siamo spiacenti che questo non sia stato utile.
Ottimo. Grazie per il tuo feedback.
Quanto sei soddisfatto di questa risposta?
Grazie per il feedback, ci aiuta a migliorare il sito.
Quanto sei soddisfatto di questa risposta?
Grazie per il tuo feedback.
Informazioni domanda
Ultimo aggiornamento 6 ottobre 2021 Visualizzazioni 152 Si applica a: