Protezione cella solo per formule che utilizzano VBA in Microsoft Excel

Anonim

In questo articolo, utilizzeremo l'evento di modifica del foglio di lavoro per proteggere le celle che contengono formule.

I dati grezzi sono costituiti dai dati sulle vendite dei dipendenti, che includono la suddivisione per mese e anno.

Vogliamo scoprire le vendite totali per mese, oltre che per anno.

Abbiamo utilizzato la funzione di somma per calcolare le vendite totali su base mensile e annuale. L'evento di modifica del foglio di lavoro viene utilizzato per proteggere le celle che contengono formule. Quando proviamo a modificare una cella contenente una formula, verrà visualizzato un messaggio a comparsa che informa che il valore della cella non può essere modificato.

Spiegazione del codice

rng.HasFormula

Il metodo HasFormula restituirà True se una cella contiene una formula. Altrimenti restituirà False.

ActiveSheet.Protect

Il codice sopra viene utilizzato per proteggere una cella.

Nota: Una cella sarà protetta solo se è bloccata. Quindi, prima di proteggere una cella, deve essere bloccata.

ActiveSheet.Unprotect

Il codice sopra viene utilizzato per rimuovere la protezione di una cella.

Si prega di seguire sotto per il codice

 'Aggiungi sotto il codice nel modulo del foglio di lavoro Option Explicit Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim rng As Range For Each rng In Target.Cells If rng.HasFormula Then ActiveSheet.Protect Else ActiveSheet.Unprotect End If Next rng End Sub 

Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook. Inoltre, puoi seguirci su Twitter e Facebook.

Ci piacerebbe avere tue notizie, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici al sito di posta elettronica