Ochrana buniek iba pre vzorce používajúce VBA v programe Microsoft Excel

Obsah

V tomto článku použijeme udalosť zmeny pracovného hárka na ochranu buniek, ktoré obsahujú vzorce.

Surové údaje pozostávajú z údajov o predaji zamestnancov, ktoré zahŕňajú rozdvojenie podľa mesiaca a roku.

Chceme zistiť celkové tržby podľa mesiaca, ako aj podľa roku.

Na výpočet celkových tržieb na mesačnej a ročnej báze sme použili súčtovú funkciu. Udalosť zmeny pracovného hárka sa používa na ochranu buniek, ktoré obsahujú vzorce. Keď sa pokúsime upraviť bunku obsahujúcu vzorec, zobrazí sa vyskakovacie okno s oznámením, že hodnotu bunky nemožno zmeniť.

Vysvetlenie kódu

rng.HasFormula

Metóda HasFormula vráti hodnotu True, ak bunka obsahuje vzorec. V opačnom prípade vráti hodnotu False.

ActiveSheet.Protect

Vyššie uvedený kód sa používa na ochranu bunky.

Poznámka: Bunka bude chránená iba vtedy, ak je uzamknutá. Bunka musí byť teda pred ochranou chránená.

ActiveSheet. Zrušiť ochranu

Vyššie uvedený kód sa používa na zrušenie ochrany bunky.

Pri kódovaní postupujte podľa nižšie uvedených pokynov

 „Pridajte nižšie uvedený kód do modulu pracovného hárka Možnosť Explicitná súkromná čiastková pracovná tabuľka_VýberChange (ByVal Cieľ ako rozsah) Dim rng ako rozsah pre každý rng v Target.Cell Keď rng.HasFormula Then ActiveSheet.Protect Else ActiveSheet.Unprotect End If Next rng End Sub 

Ak sa vám tento blog páčil, zdieľajte ho so svojimi priateľmi na Facebooku. Môžete nás tiež sledovať na Twitteri a Facebooku.

Budeme radi, ak sa nám ozvete, dajte nám vedieť, ako môžeme zlepšiť našu prácu a zlepšiť ju pre vás. Napíšte nám na emailovú stránku

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave