Ciao Luca_192!
Per ottenere questo risultato in VBA, è possibile utilizzare l'evento Workbook Open per attivare il codice all'apertura della cartella di lavoro.
Di seguito è riportato un codice di esempio che cancella i valori delle celle non protette su tutti i fogli se la condizione del nome file è "esempio_prova.xlsm" e apre il file in sola lettura se viene soddisfatta la condizione del nome file:
Sub privato Workbook_Open()
'Controlla se il nome del file è "esempio_prova.xlsm"
Se ActiveWorkbook.Name = "esempio_prova.xlsm" allora
'Controlla se il file è di sola lettura
Se ThisWorkbook.ReadOnly allora
MsgBox "Questo file è di sola lettura.", vbInformation
Esci Sub
Fine Se
'Cancella i valori delle celle non protette su tutti i fogli
Dim ws come foglio di lavoro
Per ogni ws in ThisWorkbook.Worksheets
Se non ws. ProtectContents quindi
Ws. Cells.ClearContents
Fine Se
Avanti ws
Fine Se
Fine sub
Si noti che questo codice deve essere inserito nel modulo ThisWorkbook della cartella di lavoro di Excel.
Cordiali saluti
Shakiru ·
Questa risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o espressioni strane.