Office

  • Office 2007
  • Office
  • Tutti i forum
Domanda

Gestione dei fogli

Si applica a:
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.
    • Sfruttamento o abuso di minori
    • Molestie o minacce
    • Contenuto inappropriato o per adulti
    • Nudità
    • Linguaggio blasfemo
    • Pirateria software
    • SPAM/Pubblicità
    • Pericolo di virus/spyware/malware
    • Altra violazione delle Condizioni per l'utilizzo o del Codice di comportamento
1 Utente aveva
questa domanda

È stato utile?

1

Vota

Risposta

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

    • Sfruttamento o abuso di minori
    • Molestie o minacce
    • Contenuto inappropriato o per adulti
    • Nudità
    • Linguaggio blasfemo
    • Pirateria software
    • SPAM/Pubblicità
    • Pericolo di virus/spyware/malware
    • Altra violazione delle Condizioni per l'utilizzo o del Codice di comportamento

Mauro Gamberini

Moderatore della community
--
Mauro Gamberini
Microsoft© MVP (Excel)
http://www.maurogsc.eu

È stato utile?

Risposta
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

    • Sfruttamento o abuso di minori
    • Molestie o minacce
    • Contenuto inappropriato o per adulti
    • Nudità
    • Linguaggio blasfemo
    • Pirateria software
    • SPAM/Pubblicità
    • Pericolo di virus/spyware/malware
    • Altra violazione delle Condizioni per l'utilizzo o del Codice di comportamento

Mauro Gamberini

Moderatore della community
--
Mauro Gamberini
Microsoft© MVP (Excel)
http://www.maurogsc.eu

È stato utile?

Risposta
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

    • Sfruttamento o abuso di minori
    • Molestie o minacce
    • Contenuto inappropriato o per adulti
    • Nudità
    • Linguaggio blasfemo
    • Pirateria software
    • SPAM/Pubblicità
    • Pericolo di virus/spyware/malware
    • Altra violazione delle Condizioni per l'utilizzo o del Codice di comportamento

Mauro Gamberini

Moderatore della community
--
Mauro Gamberini
Microsoft© MVP (Excel)
http://www.maurogsc.eu

È stato utile?

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
    • Sfruttamento o abuso di minori
    • Molestie o minacce
    • Contenuto inappropriato o per adulti
    • Nudità
    • Linguaggio blasfemo
    • Pirateria software
    • SPAM/Pubblicità
    • Pericolo di virus/spyware/malware
    • Altra violazione delle Condizioni per l'utilizzo o del Codice di comportamento

È stato utile?

1

Vota

Risposta

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

    • Sfruttamento o abuso di minori
    • Molestie o minacce
    • Contenuto inappropriato o per adulti
    • Nudità
    • Linguaggio blasfemo
    • Pirateria software
    • SPAM/Pubblicità
    • Pericolo di virus/spyware/malware
    • Altra violazione delle Condizioni per l'utilizzo o del Codice di comportamento

Mauro Gamberini

Moderatore della community
--
Mauro Gamberini
Microsoft© MVP (Excel)
http://www.maurogsc.eu

È stato utile?

Grazie Mauro Ancora una volta sei stato eccezionale.
Volevo aggiungere che oltre ad essere il migliore, riesci a rendere semplice le cose difficili, quando scrivi i codici riesci a dare anche un tocco di eleganza.
    • Sfruttamento o abuso di minori
    • Molestie o minacce
    • Contenuto inappropriato o per adulti
    • Nudità
    • Linguaggio blasfemo
    • Pirateria software
    • SPAM/Pubblicità
    • Pericolo di virus/spyware/malware
    • Altra violazione delle Condizioni per l'utilizzo o del Codice di comportamento

È stato utile?

Grazie Mauro Ancora una volta sei stato eccezionale.
Volevo aggiungere che oltre ad essere il migliore, riesci a rendere semplice le cose difficili, quando scrivi i codici riesci a dare anche un tocco di eleganza.


Grazie dei complimenti, ma non stuzzicare il mio ego che già non è male...;-)

Buon lavoro.

    • Sfruttamento o abuso di minori
    • Molestie o minacce
    • Contenuto inappropriato o per adulti
    • Nudità
    • Linguaggio blasfemo
    • Pirateria software
    • SPAM/Pubblicità
    • Pericolo di virus/spyware/malware
    • Altra violazione delle Condizioni per l'utilizzo o del Codice di comportamento

Mauro Gamberini

Moderatore della community
--
Mauro Gamberini
Microsoft© MVP (Excel)
http://www.maurogsc.eu

I messaggi contrassegnati come risposte non possono essere eliminati

Per eliminare questo messaggio, annulla prima il contrassegno di risposta.

Motivo per rimuovere l'inoltro


Unisci

Immetti l'ID thread del thread in cui si esegue l'unione


La risposta sarà pubblicata in un thread pubblico

Stai rispondendo a una parte pubblica di questo thread. Per rispondere in privato, fai clic su Annulla, seleziona la scheda Messaggi privati e scegli Rispondi sul messaggio privato.

Non visualizzare questo messaggio in futuro

Per segnalare un abuso, accedi o continua senza accedere

Grazie.

Segnala abuso

Tipo di abuso:

Dettagli (facoltativi):

Segnala abuso

Tipo di abuso:

Dettagli (obbligatori):
Immetti i caratteri che vedi (obbligatorio):
Digita i numeri visualizzati nell'immagine.
Riproduci l'audio e digita i numeri che ascolti.
Mostra un'altra immagine.

Accedi

Puoi accedere anche con l'account di Hotmail, Xbox Live, Messenger o msn.

Non possiedi uno di questi account?

Accesso in corso...
La pagina si aggiornerà automaticamente una volta effettuato l'accesso.
Se riscontri problemi, puoi chiudere il messaggio e riprovare a collegarti.