Organizzare fogli di una cartella



  • Organizzare fogli di una cartella
    di Pino (utente non iscritto) data: 10/04/2016 17:23:58

    Ho una cartella Excel che contiene 20 fogli di lavoro. Attualmente, quindi, quando apro la cartella di lavoro mi ritrovo le 20 etichette dei fogli, tra le quali può essere difficoltoso districarsi per trovare il foglio giusto. Al momento ho risolto il problema nascondendo alcuni fogli, così da avere scoperti solo una parte dei 20 fogli: il che, però, mi costringere frequentemente a nascondere e scoprire fogli di lavoro. Mi chiedevo se non ci fosse un'altra soluzione: ad esempio, raggruppare i fogli. Mi spiego. I 20 fogli che ho potrebbero essere divisi in 4 gruppi: il primo gruppo, che contiene i fogli da 1 a 5, il secondo i fogli da 6 a 10, il terzo i fogli da 11 a 15, il quarto i fogli da 16 a 20. Questo semplificherebbe la visualizzazione delle etichette dei fogli.



  • di patel data: 10/04/2016 17:52:09

    oppure utilizzare il primo foglio (Indice) con dei link a tutti gli altri da creare con una macro del tipo
     
    Sub a()
    Dim x As Worksheet
    y = 1
    For Each x In Worksheets
    Sheets("Indice").Cells(y, 1).Hyperlinks.Add Anchor:=Sheets("Index").Cells(y, 1), Address:="", SubAddress:=x.Name & "!A1"
    y = y + 1
    Next x
    End Sub






  • di Pino (utente non iscritto) data: 11/04/2016 18:50:39

    Ho pensato di risolvere così. In un foglio base creo 4 pulsanti, collegati ad altrettanto macro; ciascuna macro scopre i fogli di un gruppo e nasconde i fogli di tutti gli altri gruppi. Mi sembra che funzioni, e risolve il mio problema. Grazie a tutti.



  • di patel data: 11/04/2016 19:07:00

    sarebbe gentile condividere il codice che risolve





  • di Pino (utente non iscritto) data: 11/04/2016 19:52:52

    Ho utilizzato la seguente macro:

    Sub Macro1()
    '
    ' Sheets("Foglio1").Select
    Sheets("Foglio2").Visible = True
    Sheets("Foglio1").Select
    Sheets("Foglio3").Visible = True
    Sheets("Foglio1").Select
    Sheets("Foglio4").Visible = True
    Sheets("Foglio1").Select
    ActiveWindow.SelectedSheets.Visible = False
    Sheets("Foglio5").Select
    ActiveWindow.SelectedSheets.Visible = False
    Sheets("Foglio6").Select
    ActiveWindow.SelectedSheets.Visible = False
    Sheets("Foglio7").Select

    La macro continua con l'indicazione dei fogli da 8 a 20, che saranno quindi nascosti (Visible = False)
    End Sub

    La macro2 scopre i fogli da 5 a 9, nascondendo quelli da 1 a 4 e quelli da 10 a 20; la macro3 e 4 nascondono altri gruppi di fogli, scoprendone altri.




  • di patel data: 11/04/2016 20:32:13

    puoi eliminare tutti quei select ed utilizzare dei cicli for next
     
    for i= 1 to 4
      Sheets("Foglio" & i).Visible = True
    next
    for i= 5 to 9
      Sheets("Foglio" & i).Visible = false
    next
    ecc...