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