Zaščita celic samo za formule, ki uporabljajo VBA v Microsoft Excelu

Anonim

V tem članku bomo uporabili dogodek spremembe delovnega lista za zaščito celic, ki vsebujejo formule.

Neobdelane podatke sestavljajo podatki o prodaji zaposlenih, ki vključujejo bifuracijo po mesecih in letih.

Želimo ugotoviti skupno prodajo po mesecih in po letih.

Za izračun skupne prodaje na mesečni in letni osnovi smo uporabili funkcijo vsote. Dogodek spremembe delovnega lista se uporablja za zaščito celic, ki vsebujejo formule. Ko poskušamo urediti celico s formulo, bomo dobili pojavno sporočilo, da vrednosti celice ni mogoče spremeniti.

Razlaga kode

rng.HasFormula

Metoda HasFormula bo vrnila vrednost True, če celica vsebuje formulo. V nasprotnem primeru se vrne False.

ActiveSheet.Protect

Zgornja koda se uporablja za zaščito celice.

Opomba: Celica bo zaščitena le, če je zaklenjena. Torej, preden zaščitite celico, jo morate zakleniti.

ActiveSheet.Unprotect

Zgornja koda se uporablja za odstranitev zaščite celice.

Za kodo sledite spodaj

 'Dodaj spodaj kodo v modul delovnega lista Možnost Eksplicitno zasebno pod -delovno polje_SelectionChange (cilj ByVal kot obseg) Zatemni rng kot obseg za vsak rng v tarči. Celice Če je rng.HasFormula Nato ActiveSheet.Protect Else ActiveSheet.Unprotect End Če je naslednji rng End Sub 

Če vam je bil ta blog všeč, ga delite s prijatelji na Facebooku. Prav tako nam lahko sledite na Twitterju in Facebooku.

Radi bi slišali od vas, nam sporočite, kako lahko izboljšamo svoje delo in ga izboljšamo za vas. Pišite nam na spletnem mestu e -pošte