Condividi:        

proteggere un foglio

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

proteggere un foglio

Postdi angelo72 » 20/12/13 09:40

Buongiorno a tutti.
Ho un problema che non riesco a risolvere la domanda è questa: ho un file excel-2010 contenente vari fogli, vorrei proteggere
la visualizzazione di un singolo foglio chiamato "Access" con password. Quindi questa password deve impedire la sola visualizzazione e non la registrazione dati. In due parole deve solo vietare di essere visualizzata da persone non autorizzate. Quindi, se dovessi pigiare sulla linguetta del foglio chiamato "ACCESS" deve aprirsi un Msgbox dove chiede la password per accedere.
Chiaramente poi metterò anche la password nel progetto VBA.
E' possibile?
Grazie a tutti
angelo72
Utente Junior
 
Post: 70
Iscritto il: 28/10/13 17:04

Sponsor
 

Re: proteggere un foglio

Postdi Flash30005 » 20/12/13 23:42

Si può rendere invisibile un foglio ma così facendo non sarebbe più disponibile nemmeno la sua "linguetta" e quindi bisogna escogitare qualcosa di diverso.
Pensavo a questa soluzione:
crei un foglio vuoto con nome "AccessM" (senza virgolette)
suppongo che oltre al foglio "Access" ci siano altri fogli quindi

Entri nel vba del foglio "AccessM" e incolli questo codice
Codice: Seleziona tutto
Private Sub Worksheet_Activate()
Dim Message, Title, Default, MyValue
Message = "Digitare la password"
Title = "Password"
Default = ""
MyPass = InputBox(Message, Title, Default)
If MyPass = "Password" Then
Worksheets("Access").Visible = True
Worksheets("Access").Select
End If
End Sub


Mentre nel foglio "Access" (da nascondere)
incolli questo codice
Codice: Seleziona tutto
Private Sub Worksheet_Activate()
Worksheets("AccessM").Visible = xlVeryHidden
End Sub

Private Sub Worksheet_Deactivate()
Worksheets("Access").Visible = xlVeryHidden
Worksheets("AccessM").Visible = True
End Sub


Adesso selezionando la linguetta del foglio "AccessM"
apparirà un msgbox (input) nel qualde dovrà essere inserita la "Password" (parola utilizzata al momento)
avrai disponibile il foglio "Access" con i dati e si nasconde il foglio vuoto
a fine inserimento dati cliccando su un altro foglio
si nasconde il Foglio "Access" e ritorna visibile il foglio vuoto.
A questo punto netterei il codice in "questa_cartella_di_lavoro" (thisworkbook)
Codice: Seleziona tutto
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets("Access").Visible = xlVeryHidden
End Sub

per far sì che alla chiusura del file venga nascosto il foglio "Access"
e infine proteggere il VBa per non dare accesso al codice nel quale c'è scritta anche la password.

ciao
In
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: proteggere un foglio

Postdi Anthony47 » 21/12/13 02:41

In aggiunta alla proposta di Flash (vedi sopra) segnalo che una richiesta analoga era stata trattata qui:
viewtopic.php?p=531996

Ripeto che queste protezioni sono facilmente aggirabili da chi conosce excel.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: proteggere un foglio

Postdi angelo72 » 21/12/13 10:40

Grazie Flash30005, il tuo codice funziona alla perfezione era quello che cercavo. Io avevo fatto un casino di prove e di ricerche in rete, ma niente di che. Invece con i tuoi codici seguiti sopratutto da una chiarissima spiegazione " per chi come me non conosce gran chè del Vba", sono riuscito senza grandi problemi. Non so come fate, ma siete dei Geni.
Grazie anche a te Anthony.
Grazie di tutto alla prox.. ;) ;)
Se non dovessimo più sentirci, Auguro a Voi tutti e alle Vs famiglie un sereno e Santo Natale.
Auguri
angelo72
Utente Junior
 
Post: 70
Iscritto il: 28/10/13 17:04


Torna a Applicazioni Office Windows


Topic correlati a "proteggere un foglio":


Chi c’è in linea

Visitano il forum: Nessuno e 68 ospiti