Foglio di protezione VBA

Foglio di protezione VBA di Excel

Possiamo proteggere il foglio Excel utilizzando il codice vba che non consente all'utente di apportare modifiche ai dati del foglio di lavoro, tutto ciò che possono fare è solo leggere il report. Per questo, abbiamo un metodo vba integrato chiamato "Protect".

Come proteggiamo i nostri fogli di lavoro in Excel allo stesso modo, possiamo usare VBA per proteggere i nostri fogli di lavoro, viene fatto utilizzando un'istruzione .protect, ci sono due metodi per proteggere il foglio uno è con password e un altro è senza password, la sintassi per proteggere un foglio di lavoro è il seguente Fogli di lavoro () Proteggi password.

Di solito condividiamo il report finale finale con l'utente o il lettore. Quando condividiamo il rapporto finale finale con l'utente, desideriamo che l'utente non apporti alcuna modifica o manipoli il rapporto finale. In uno scenario del genere si tratta solo di fiducia, non è vero?

Sintassi

La protezione del foglio coinvolge vari parametri per fornire questo è diverso dall'annullare la protezione del foglio. Diamo un'occhiata alla sintassi del metodo Protect con una password.

Wow!!! Non lasciarti intimidire guardando la sintassi. Dai un'occhiata alla spiegazione di ogni argomento di seguito.

  • Nome foglio di lavoro: per prima cosa dobbiamo menzionare quale foglio di lavoro proteggeremo.
  • Password: dobbiamo inserire la password che stiamo utilizzando per proteggere. Se ignoriamo questo parametro, Excel bloccherà il foglio senza password e durante la rimozione della protezione del foglio verrà annullata la protezione senza chiedere alcuna password.
  • Nota: ricorda la password che stai fornendo, perché se l'hai dimenticata devi passare attraverso vari modi difficili.
  • Oggetto di disegno: se si desidera proteggere gli oggetti nel foglio di lavoro, è possibile passare l'argomento come VERO oppure FALSO. Il valore predefinito è TRUE.
  • Contenuto: per proteggere il contenuto del foglio di lavoro, impostare il parametro come TRUE oppure FALSE. Il valore predefinito è falso. Questo proteggerà solo le celle bloccate. Il valore predefinito è TRUE.
  • Scenari: se ci sono analisi what-if in scenari Excel, possiamo proteggerli. Per proteggere VERO oppure FALSO. Il valore predefinito è TRUE.
  • Solo interfaccia utente: se si desidera proteggere l'interfaccia utente diversa dalla macro, dovrebbe essere TRUE. Se questo argomento viene omesso, proteggerà sia le macro che l'interfaccia utente. Se si imposta l'argomento su TRUE, verrà protetta solo l'interfaccia utente. Il valore predefinito è falso.
  • Consenti formattazione celle: se si desidera consentire all'utente di formattare la cella, è possibile impostare il parametro su VERO oppure su FALSO. Il valore predefinito è falso.
  • Consenti formattazione colonne: se si desidera consentire all'utente di formattare qualsiasi colonna nel foglio protetto, è possibile impostare il parametro su VERO oppure su FALSO. Il valore predefinito è falso.
  • Consenti la formattazione delle righe: se si desidera consentire all'utente di formattare qualsiasi riga nel foglio protetto, è possibile impostare il parametro su VERO o FALSO. Il valore predefinito è falso.
  • Consenti inserimento colonne in VBA: se desideri consentire all'utente di inserire nuove colonne, devi impostarlo su VERO. Il valore predefinito è falso.
  • Consenti inserimento righe: se si desidera consentire all'utente di inserire nuove righe, è necessario impostarlo su TRUE. Il valore predefinito è falso.
  • Consenti inserimento collegamenti ipertestuali: Se si desidera consentire all'utente di inserire collegamenti ipertestuali, è necessario impostarlo su VERO. Il valore predefinito è falso.
  • Consenti eliminazione colonne: se desideri consentire all'utente di eliminare colonne in VBA, devi impostarlo su TRUE. Il valore predefinito è falso.
  • Consenti eliminazione righe: se desideri consentire all'utente di eliminare righe, devi impostarlo su TRUE. Il valore predefinito è falso.
  • Consenti ordinamento: se desideri consentire all'utente di ordinare i dati, devi impostarlo su TRUE. Il valore predefinito è falso.
  • Consenti filtraggio: se desideri consentire all'utente di filtrare i dati, devi impostarlo su TRUE. Il valore predefinito è falso.
  • Consenti l'utilizzo di tabelle pivot: se desideri consentire all'utente di utilizzare tabelle pivot, devi impostarlo su VERO. Il valore predefinito è falso.

Come proteggere il foglio utilizzando il codice VBA?

Puoi scaricare questo modello Excel di foglio di protezione VBA qui - Modello Excel di foglio di protezione VBA

Passaggio 1: selezionare il foglio che deve essere protetto

Per proteggere il foglio il primo passo è decidere quale foglio dobbiamo proteggere utilizzando una password e dobbiamo chiamare il foglio con il suo nome utilizzando vba Worksheet Object.

Ad esempio, supponi di voler proteggere il foglio denominato "Foglio master", quindi devi menzionare il nome del foglio di lavoro come di seguito.

Passaggio 2: definire la variabile del foglio di lavoro

Dopo aver menzionato il nome del foglio di lavoro, mettere un punto, ma non vediamo alcun elenco IntelliSense con cui lavorare, questo rende il lavoro difficile. Per accedere all'elenco IntelliSense, definisce la variabile come foglio di lavoro.

Codice:

 Sub Protect_Example1 () Dim Ws As Worksheet End Sub 

Passaggio 3: fornire riferimento al foglio di lavoro

Ora imposta il riferimento del foglio di lavoro alla variabile come Fogli di lavoro ("Foglio master") .

Codice:

 Sub Protect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Master Sheet") End Sub 

Ora la variabile "Ws" contiene il riferimento del foglio di lavoro denominato "Master Sheet". Usando questa variabile possiamo accedere alla lista intellisense.

Passaggio 4: selezionare il metodo di protezione

Selezionare il metodo "Proteggi" dall'elenco IntelliSense.

Passaggio 5: immettere la password

Specifica la password tra virgolette.

Codice:

 Sub Protect_Example1 () Dim Ws As Worksheet Set Ws = Worksheets ("Master Sheet") Ws.Protect Password: = "MyPassword" End Sub 

Passaggio 6: eseguire il codice

Eseguire il codice manualmente o utilizzando il tasto di scelta rapida F5, quindi proteggerà il foglio denominato "Master Sheet" .

Quando il foglio è protetto, se si desidera apportare modifiche, viene visualizzato un messaggio di errore come mostrato di seguito.

Nel caso in cui si desideri proteggere più di un foglio, è necessario utilizzare i loop, di seguito è riportato il codice di esempio per proteggere il foglio.

 Sub Protect_Example2 () Dim Ws come foglio di lavoro per ogni Ws in ActiveWorkbook.Worksheets Ws.Protect Password: = "My Passw0rd" Next Ws End Sub 

Nota: utilizza altri parametri per sperimentare.