Buongiorno, Sergio,
benvenuto in MS Q&A ed excel VBA.
Proprio come puoi proteggere con password cartelle di lavoro e fogli di lavoro, puoi proteggere con password una macro in Excel affinché venga visualizzata (ed eseguita).
Inserisci un pulsante di comando nel tuo foglio di lavoro e aggiungi le seguenti righe di codice:
- Innanzitutto, crea una semplice macro che desideri proteggere.
Range("A1").Value = "This is secret code"
- Successivamente, fare clic su Strumenti, Proprietà VBAProject.
- Nella scheda Protezione, seleziona "Blocca progetto per la visualizzazione" e inserisci due volte una password.
- Fare clic su OK.
- Salva, chiudi e riapri il file Excel. Prova a visualizzare il codice.
Apparirà la seguente finestra di dialogo:
Puoi ancora eseguire il codice facendo clic sul pulsante di comando ma non puoi più visualizzare o modificare il codice (a meno che tu non conosca la password).
- Se si desidera proteggere con password l'esecuzione della macro, aggiungere le seguenti righe di codice:
Dim password As Variant
password = Application.InputBox("Enter Password", "Password Protected")
Select Case password
Case Is = False
'do nothing
Case Is = "easy"
Range("A1").Value = "This is secret code"
Case Else
MsgBox "Incorrect Password"
End Select
Risultato quando si fa clic sul pulsante di comando sul foglio:
Spiegazione: La macro utilizza il metodo InputBox dell'oggetto Application. Se l'utente fa clic su Annulla, questo metodo restituisce False e non accade nulla (InputBox scompare). Solo quando l'utente conosce la password ("sempre facile") verrà eseguito il codice segreto. Se la password inserita non è corretta, viene visualizzato un MsgBox. Tieni presente che l'utente non può controllare la password nell'editor di Visual Basic perché il progetto è protetto dalla visualizzazione.
spero che questa informazione aiuta
Saluti,
Giordano