Stellar Blade Un'esclusiva PS5 che sta facendo discutere per l'eccessiva bellezza della protagonista. Vieni a parlarne su Award & Oscar!

Excel Forum Per condividere esperienze su Microsoft Excel

PULSANTI DI OPZIONE PER VISUALIZZARE O NASCOBDERE FOGLI DI LAVORO

  • Messaggi
  • OFFLINE
    Kilkenny79
    Post: 1
    Registrato il: 24/10/2017
    Città: MILANO
    Età: 45
    Utente Junior
    2010
    00 24/10/2017 11:31
    Buongiorno a tutti,
    sono un neofita delle Macro. Ho necessità di creare un menù iniziale con diversi pulsanti di opzione. ogni pulsante esclude gli altri e ogni pulsante deve aprire alcuni fogli di lavoro e lasciare nascosti altri fogli. Se clicco su un'altro pulsante di opzione deve potermi nascondere quelli che non mi servono e aprirne altri.

    Tale foglio excel successivamente dovrò chiuderlo da password perchè ci sono dei fogli che proprio non devo far vedere. Se questo dovesse dare problema alle macro, eventualmente proteggo il foglio di lavoro nascondendo le colonne invece di proteggere l'intera cartella.

    Vi prego help me [SM=x423047]
  • ONLINE
    alfrimpa
    Post: 3.507
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 24/10/2017 11:38
    Ciao Kilkenny

    Allega un file di esempio con i fogli ed i pulsanti (ne bastano 2/3) specificando ogni pulsante quali fogli deve visualizzare/nascondere.

    Comunque per visualizzare/nascondere basta una istruzione di questo tipo

    vb
    Sheets("NomeFoglio").Visible = True oppure False

    Alfredo
  • OFFLINE
    Kilkenny79
    Post: 1
    Registrato il: 24/10/2017
    Città: MILANO
    Età: 45
    Utente Junior
    2010
    00 24/10/2017 11:50
    Ciao alfrimpa,
    ti allego il file.
    nella scheda menù ci sono i pulsanti e le istruzioni di esempio.

    grazie mille
  • ONLINE
    alfrimpa
    Post: 3.510
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 26/10/2017 11:08
    Ciao Stefano e perdona il ritardo di questa risposta.

    Ti allego file dove ho inserito le macro che vedi sotto sperando di aver capito la tua esigenza.

    Questa (che viene eseguita all'apertura del file) nasconde tutti i (fogli ad eccezione di "MENU") e "azzera" i tre OptionButton

    vb
    Private Sub Workbook_Open()
    Dim i As Integer
     Dim obtOptionbutton As OLEObject
        Dim osh As Worksheet
    Set osh = ThisWorkbook.Worksheets(1)
        For Each obtOptionbutton In osh.OLEObjects
            If TypeName(obtOptionbutton.Object) = "OptionButton" Then
                obtOptionbutton.Object = False
            End If
        Next
    For i = 2 To Sheets.Count
        Sheets(i).Visible = False
    Next i
    End Sub
    


    Le tre successive al clic su ogni OptionButton scoprono i fogli pertinenti

    Questa per l'OptionButton1

    vb
    Private Sub OptionButton1_Click()
    Dim i As Integer
    Application.ScreenUpdating = False
    For i = 2 To Sheets.Count
        Sheets(i).Visible = False
    Next i
    Sheets("Terreni").Visible = True
    Sheets("Ausiliari").Visible = True
    Sheets("Offerta").Visible = True
    Application.ScreenUpdating = True
    End Sub
    


    Questa per l'OptionButton2

    vb
    Private Sub OptionButton2_Click()
    Dim i As Integer
    Application.ScreenUpdating = False
    For i = 2 To Sheets.Count
        Sheets(i).Visible = False
    Next i
    Sheets("Terreni").Visible = True
    Sheets("Ausiliari").Visible = True
    Sheets("STAMPAOFFERTA").Visible = True
    Application.ScreenUpdating = True
    End Sub
    


    E questa per l'OptionButton3

    vb
    Private Sub OptionButton3_Click()
    Dim i As Integer
    Application.ScreenUpdating = False
    For i = 2 To Sheets.Count
        Sheets(i).Visible = False
    Next i
    Sheets("Terreni").Visible = True
    Sheets("Ausiliari").Visible = True
    Sheets("DEF").Visible = True
    Application.ScreenUpdating = True
    End Sub
    


    Fai sapere.



    Alfredo