Nascondi fogli



  • Nascondi fogli
    di Mauro (utente non iscritto) data: 15/11/2012 22:52:19

    Salve a tutti, non riesco a trovare una funzione che sia in excel o tramite VBA che non mi faccia vedere i fogli di lavoro. Mi spiego : ho dei fogli di lavoro e il primo foglio fa da pannello di controllo ovvero con tanti pulsanti che mi indirizzano nei vari fogli di lavoro ( tanto per renderlo più carino )

    Il problema è che se l'utente usa il pannello di controllo può alternativamente usare muoversi anche con i fogli di lavoro. Io vorrei eliminare la seconda opzione muovendomi solo con il pannello di comandi. In alcuni fogli elettronici vedo queste cose ma non riesco a capire come diavolo si fa. Preciso che i fogli devono essere nascosti ma funzionali, non intendo il classico foglio che scompare e non funziona solo per non essere visto ( diciamo come foglio di calcolo ) intendo un vero e proprio foglio di lavoro solo che non si deve vedere nella barra in basso come si usa vedere : Foglio1,Foglio2 etc.... Aiutooooooooooooooo!!!!!



  • di HarryBosch data: 16/11/2012 08:43:28

    Ciao Mauro
    ad esempio potresti agire dalle Opzioni di Excel per togliere la barra dove appaiono tutte le linguette dei fogli; dipende dalla versione Excel: in Excel 2007 trovi le "impostazioni avanzate" nelle quali dovresti togliere la spunta alla voce "Mostra schede fogli". In ogni caso chiunque può sempre reinserirle.

    Oppure i fogli si possono "nascondere", cliccando con il tasto destro direttamente sulla linguetta del foglio.
    Ma in questo caso, per renderli poi utilizzabili, o meglio, accessibili, devi utilizzare il vba.
    Per esempio con:
    Sheets("Foglio2").Visible = False
    nascondi il foglio2; se imposti =True lo rendi nuovamente visibile.

    Se i fogli sono nascosti ed usi la protezione per la cartella, un altro utilizzatore non può renderli visibili.



  • di roberto (utente non iscritto) data: 16/11/2012 11:02:39

    io ho la stessa necessità e mi sono creato il primo codice

    per una finalità simile, ovvero nascondere i fogli, ho usato la seconda.
    ti segnalo la prietà "xlVeryHidden".... in sostanza il foglio non appare nemmeno nella tabella dei fogli nascosti quando si usa il comando "scopri" :)
    L'unico modo per scoprirlo è andare nell editor di VBA e selezionare il foglio; sempre in VBA dalle proprietà (tasto F4) selezionare tra le proprietà del foglio "visible -1 xlsheetVisible"

    ------------------------------------------------------------------
    come sempre ai guro... segnate con matita blu o rossa...
    ------------------------------------------------------------------
     
    
    
    
    Sub MN_FOGLI()
    '
    ' Mostra e nascondi fogli
    '
    
    '
      
     For i = 1 To Worksheets.Count
      
     If Worksheets(i).Visible = False Then
     Worksheets(i).Visible = True
      Else: Worksheets(i).Visible = False
      End If
      
     If Worksheets(i).Visible = xlVeryHidden Then
     Worksheets(i).Visible = True
      End If
    
       Next i
    End Sub



  • di rplacanica - roberto (utente non iscritto) data: 16/11/2012 11:07:21

    si era perso il secondo codice...
     
    Sub MN_FOGLI()
    '
    ' Mostra e nascondi fogli
    
    For i = 1 To Worksheets.Count
      
        If Worksheets(i).Visible = False Then
           Worksheets(i).Visible = True
          Else: Worksheets(i).Visible = False
        End If
          
        If Worksheets(i).Visible = xlVeryHidden Then
            Worksheets(i).Visible = True
        End If
        
     Next i
    End Sub



  • di rplacanica (utente non iscritto) data: 16/11/2012 11:10:57

    scusate ma ho problemi con explorer... mi incolla solo una parte del codice... ora lo riscrivo a manina...
    le dentellature vengono come vengono...
     
    Sub SCHEDE()
    '
    ' Mostra o nasconde le SCHEDE 
    '
     Application.ScreenUpdating = False
      For i = 1 To Worksheets.Count
         If ActiveWindow.DisplayWorkbookTabs = False Then
             ActiveWindow.DisplayWorkbookTabs = True
            Else: ActiveWindow.DisplayWorkbookTabs = False
         End If
      Next
     Application.ScreenUpdating = True
    End Sub



  • di HarryBosch data: 16/11/2012 13:05:16

    Ottimo suggerimento!
    Particolarmente efficace anche la proprietà "xlVeryHidden"

    E' molto bello vedere nuovi utenti che partecipano alle discussioni ^_^

    E siccome oramai VecchioFrac mi ha influenzato, aggiungo un'ottimizzazione per l'evento scopri ascondi il foglio, evitando tutti gli IF:

    Sheets("Foglio1").Visible = Not Sheets("Foglio1").Visible




  • di rplacanica (utente non iscritto) data: 16/11/2012 14:04:15


    ora arrossisco...
    Giaccaglini book...



  • di Vecchio Frac data: 16/11/2012 14:54:01

    @rplacanica
    very well :)

    @Harry
    Stavo per scrivere qualcosa di simile ^_^




  • Nascondi fogli
    di Mauro (utente non iscritto) data: 16/11/2012 19:43:54

    Grazie a tutti efficaci !!!!!

    Poteva essere una domanda stupida ma ho visto che ha suscitato una bella discussione !!!

    Bravi a tutti !!!!



  • Nascondi fogli
    di Mauro (utente non iscritto) data: 15/11/2012 22:52:19

    Salve a tutti, non riesco a trovare una funzione che sia in excel o tramite VBA che non mi faccia vedere i fogli di lavoro. Mi spiego : ho dei fogli di lavoro e il primo foglio fa da pannello di controllo ovvero con tanti pulsanti che mi indirizzano nei vari fogli di lavoro ( tanto per renderlo più carino )

    Il problema è che se l'utente usa il pannello di controllo può alternativamente usare muoversi anche con i fogli di lavoro. Io vorrei eliminare la seconda opzione muovendomi solo con il pannello di comandi. In alcuni fogli elettronici vedo queste cose ma non riesco a capire come diavolo si fa. Preciso che i fogli devono essere nascosti ma funzionali, non intendo il classico foglio che scompare e non funziona solo per non essere visto ( diciamo come foglio di calcolo ) intendo un vero e proprio foglio di lavoro solo che non si deve vedere nella barra in basso come si usa vedere : Foglio1,Foglio2 etc.... Aiutooooooooooooooo!!!!!



  • di HarryBosch data: 16/11/2012 08:43:28

    Ciao Mauro
    ad esempio potresti agire dalle Opzioni di Excel per togliere la barra dove appaiono tutte le linguette dei fogli; dipende dalla versione Excel: in Excel 2007 trovi le "impostazioni avanzate" nelle quali dovresti togliere la spunta alla voce "Mostra schede fogli". In ogni caso chiunque può sempre reinserirle.

    Oppure i fogli si possono "nascondere", cliccando con il tasto destro direttamente sulla linguetta del foglio.
    Ma in questo caso, per renderli poi utilizzabili, o meglio, accessibili, devi utilizzare il vba.
    Per esempio con:
    Sheets("Foglio2").Visible = False
    nascondi il foglio2; se imposti =True lo rendi nuovamente visibile.

    Se i fogli sono nascosti ed usi la protezione per la cartella, un altro utilizzatore non può renderli visibili.



  • di roberto (utente non iscritto) data: 16/11/2012 11:02:39

    io ho la stessa necessità e mi sono creato il primo codice

    per una finalità simile, ovvero nascondere i fogli, ho usato la seconda.
    ti segnalo la prietà "xlVeryHidden".... in sostanza il foglio non appare nemmeno nella tabella dei fogli nascosti quando si usa il comando "scopri" :)
    L'unico modo per scoprirlo è andare nell editor di VBA e selezionare il foglio; sempre in VBA dalle proprietà (tasto F4) selezionare tra le proprietà del foglio "visible -1 xlsheetVisible"

    ------------------------------------------------------------------
    come sempre ai guro... segnate con matita blu o rossa...
    ------------------------------------------------------------------
     
    
    
    
    Sub MN_FOGLI()
    '
    ' Mostra e nascondi fogli
    '
    
    '
      
     For i = 1 To Worksheets.Count
      
     If Worksheets(i).Visible = False Then
     Worksheets(i).Visible = True
      Else: Worksheets(i).Visible = False
      End If
      
     If Worksheets(i).Visible = xlVeryHidden Then
     Worksheets(i).Visible = True
      End If
    
       Next i
    End Sub



  • di rplacanica - roberto (utente non iscritto) data: 16/11/2012 11:07:21

    si era perso il secondo codice...
     
    Sub MN_FOGLI()
    '
    ' Mostra e nascondi fogli
    
    For i = 1 To Worksheets.Count
      
        If Worksheets(i).Visible = False Then
           Worksheets(i).Visible = True
          Else: Worksheets(i).Visible = False
        End If
          
        If Worksheets(i).Visible = xlVeryHidden Then
            Worksheets(i).Visible = True
        End If
        
     Next i
    End Sub



  • di rplacanica (utente non iscritto) data: 16/11/2012 11:10:57

    scusate ma ho problemi con explorer... mi incolla solo una parte del codice... ora lo riscrivo a manina...
    le dentellature vengono come vengono...
     
    Sub SCHEDE()
    '
    ' Mostra o nasconde le SCHEDE 
    '
     Application.ScreenUpdating = False
      For i = 1 To Worksheets.Count
         If ActiveWindow.DisplayWorkbookTabs = False Then
             ActiveWindow.DisplayWorkbookTabs = True
            Else: ActiveWindow.DisplayWorkbookTabs = False
         End If
      Next
     Application.ScreenUpdating = True
    End Sub



  • di HarryBosch data: 16/11/2012 13:05:16

    Ottimo suggerimento!
    Particolarmente efficace anche la proprietà "xlVeryHidden"

    E' molto bello vedere nuovi utenti che partecipano alle discussioni ^_^

    E siccome oramai VecchioFrac mi ha influenzato, aggiungo un'ottimizzazione per l'evento scopri ascondi il foglio, evitando tutti gli IF:

    Sheets("Foglio1").Visible = Not Sheets("Foglio1").Visible




  • di rplacanica (utente non iscritto) data: 16/11/2012 14:04:15


    ora arrossisco...
    Giaccaglini book...



  • di Vecchio Frac data: 16/11/2012 14:54:01

    @rplacanica
    very well :)

    @Harry
    Stavo per scrivere qualcosa di simile ^_^




  • Nascondi fogli
    di Mauro (utente non iscritto) data: 16/11/2012 19:43:54

    Grazie a tutti efficaci !!!!!

    Poteva essere una domanda stupida ma ho visto che ha suscitato una bella discussione !!!

    Bravi a tutti !!!!