Risolto Come scoprire un foglio con password?

Fausto62

Utente junior
23 Gennaio 2018
60
6
Cupello
2016
0
Buona sera.
Come da file allegato, vorrei scoprire, dopo averlo nascosto-, il foglio "MELA" che deve aprirsi ed essere visualizzato da un utente solo dopo aver digitato una password.
Vi chiedo, per favore, se potete darmi un aiuto.
Grazie.
F.
 

Allegati

alfrimpa

VBA Expert
Supermoderatore
Expert
18 Dicembre 2015
24.273
1.845
66
Napoli
2019 Pro Plus
572
La via più semplice potrebbe essere quella di
  1. andare nell'editor di VBA
  2. impostare la proprietà Visible del foglio MELA a xlVeryHidden
  3. proteggere con password l'intero progetto VBA
In tal modo sarà possibile rivisualizzare il foglio MELA solo andando nell'editor VBA a cambiare nuovamente la proprietà Visible a xlVisible conoscendo la password del progetto VBA.
 
  • Like
Reactions: Fausto62

Fausto62

Utente junior
23 Gennaio 2018
60
6
Cupello
2016
0
La finalità del mio file è che solo io devo vedere, ogni volta che apro il file, il foglio "MELA" e, se qualcuno volesse "scoprire" questo foglio, Excel deve chiedere una pw da me impostata senza visualizzare nulla del foglio "MELA". In sintesi, chiunque potrà visualizzare gli altri fogli escluso "MELA", mentre deve essere per me, immediato solo con una pw scoprire questo foglio.
Grazie.
 

davideb

Utente abituale
26 Luglio 2019
221
20
office 2016
17
credo che la soluzione più plausibile sia quella fornita da alfrimpa @alfrimpa cappello_saluta
 

Fausto62

Utente junior
23 Gennaio 2018
60
6
Cupello
2016
0
La via più semplice potrebbe essere quella di
  1. andare nell'editor di VBA
  2. impostare la proprietà Visible del foglio MELA a xlVeryHidden
  3. proteggere con password l'intero progetto VBA
In tal modo sarà possibile rivisualizzare il foglio MELA solo andando nell'editor VBA a cambiare nuovamente la proprietà Visible a xlVisible conoscendo la password del progetto VBA.
Ciao Alfredo, ho provato ma le mie competenze limitate non mi hanno aiutato e non riesco ad applicare il suggerimento. Puoi darmi delle delucidazioni su come fare? Grazie.
 

alfrimpa

VBA Expert
Supermoderatore
Expert
18 Dicembre 2015
24.273
1.845
66
Napoli
2019 Pro Plus
572
  1. Apri l’editor VBA con Alt+F11
  2. Seleziona in alto a sinistra il foglio MELE
  3. Premi F4 e si visualizza la finestra delle proprietà
  4. Tra queste trovi Visible; impostane il valoreva xlVeryHidden
Dopo proteggi il progetto VBA con password; non facendolo mai non ricordo a memoria la procedura ma se fai una ricerca con Google troverai facilmente il modo per poterlo fare.

Come vedi è proprio una cosa base base.
 

davideb

Utente abituale
26 Luglio 2019
221
20
office 2016
17
Ciao alfrimpa @alfrimpa in aggiunta per impostare la protezione al progetto VBA dall'editor:
- selezionare dal menu a tendina , strumenti , proprietà di VBAProject , protezione e impostare la password:
 

alfrimpa

VBA Expert
Supermoderatore
Expert
18 Dicembre 2015
24.273
1.845
66
Napoli
2019 Pro Plus
572
davideb @davideb

Davide ma questi utenti non li vogliamo proprio far lavorare? Muoio_muoio
 

Fausto62

Utente junior
23 Gennaio 2018
60
6
Cupello
2016
0
sì sì, alla pw ci ero arrivato, non sapevo come arrivare al Visibile con F4. Grazie, Alfredo. A me piace fare da me applicando i suggerimenti. Ma purtroppo questa non è la soluzione per il mio caso.
Cerco invece, se esiste in Excel, una finestra di pop-up che si apre chiedendo una pw al momento che un utente tenta di aprire/scoprire il foglio MELA. Tipo quella che si apre nella protezione della cartella: e se non metti la pw non vedi nulla.
Non so se esiste qualcosa di simile...
 

alfrimpa

VBA Expert
Supermoderatore
Expert
18 Dicembre 2015
24.273
1.845
66
Napoli
2019 Pro Plus
572
No quello che chiedi non esiste in Excel.

La cosa va costruita con userform e relativo codice VBA per poterla gestire.

Poi, per curiosità, perchè non va bene la soluzione proposta?
 

Fausto62

Utente junior
23 Gennaio 2018
60
6
Cupello
2016
0
Allego il file dove ho inserito la pw: 1234
Quando apro il file non trovo il foglio "MELA" e devo andare di nuovo in VBA e rendere visibile il foglio, per cui, non è così immediato. Forse sbaglio io qualcosa?
 

Allegati

alfrimpa

VBA Expert
Supermoderatore
Expert
18 Dicembre 2015
24.273
1.845
66
Napoli
2019 Pro Plus
572
No non sbagli la cosa funziona così.

Come detto prima se vuoi qualcosa di automatico va costruito ad hoc e se non hai conoscenze di VBA come faresti a gestire eventuali problemi che si dovessero presentare?
 

ges

Excel/VBA Expert
Amministratore
Expert
21 Giugno 2015
25.165
1.865
Como
2011MAC 2016WIN
585
Ciao,
se vuoi qualcosa di automatico dovresti agire via codice vba.
Nel modulo di classe di "Questa cartella di lavoro" metti questo codice
(Password corretta: 123 ma fai delle prove anche sbagliando la passoword)
Visual Basic:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Sheets("MELA").Visible = xlSheetVeryHidden
End Sub

Private Sub Workbook_Open()
    Do
        pass = InputBox("Per accedere al foglio MELA devi mettere la passowrd")
        If pass = "123" Then
            Sheets("MELA").Visible = True
            MsgBox "Password corretta!" & vbCrLf & "Il foglio MELA ora è visibile!"
            Exit Do
        Else
            messaggio = MsgBox("Password non corretta!" & vbCrLf & " Vuoi riprovare con un'altra passowrd?", vbYesNo)
            If messaggio = vbNo Then
                MsgBox "Non avendo inserito la password corretta non potrai accedere al foglio MELA"
                Exit Do
            End If
        End If
    Loop
End Sub
 

Allegati

Fausto62

Utente junior
23 Gennaio 2018
60
6
Cupello
2016
0
Ora ci siamo, grazie ges, ti chiedo se è possibile eliminare alcuni passaggi relativi ai messaggi di imput, visto che gli utenti che devono visualizzare gli altri fogli potrebbero semplicemente chiudere la finestra relativa alla pw. :felice:
 

Fausto62

Utente junior
23 Gennaio 2018
60
6
Cupello
2016
0
Appena si apre il file, alla finestra di inserimento pw, si potrebbe cliccare su "annulla" e saltare il passaggio per accedere al file senza il foglio "MELA" che interessa solo a me.
Grazie.
 

ges

Excel/VBA Expert
Amministratore
Expert
21 Giugno 2015
25.165
1.865
Como
2011MAC 2016WIN
585
Cosi dovrebbe andare bene
Visual Basic:
Sub ScopriFoglio()
  Do
        pass = InputBox("Per accedere al foglio MELA devi mettere la passowrd")
        If pass = "" Then Exit Do
        If pass = "123" Then
            Worksheets("MELA").Visible = True
            MsgBox "Foglio MELA accessibile!"
            Exit Do
        End If
        messaggio = MsgBox("Password non corretta! Riprova")
    Loop While pass <> "123"
End Sub
Funziona così:
1) All'apertura del file ti chiede la password
2) se la inserisci correttamente si vede il foglio
3) se la sbagli ti chiede di reinserirla
4) se invece annulli il messaggio scompare e i foglio non si deve
5) Se anche dopo averla annullata vuoi richiamare il messaggio basta che clicchi su CTRL+MAIUSC+F
 

Allegati

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!