Ochrana buněk pouze pro vzorce používající VBA v aplikaci Microsoft Excel

Obsah

V tomto článku použijeme událost změny listu k ochraně buněk, které obsahují vzorce.

Nezpracovaná data se skládají z údajů o prodejích zaměstnanců, které zahrnují rozdvojení podle měsíce a roku.

Chceme zjistit celkové tržby podle měsíce i roku.

Použili jsme funkci součtu k výpočtu celkových tržeb na měsíční a roční bázi. Událost změny listu slouží k ochraně buněk, které obsahují vzorce. Když se pokusíme upravit buňku obsahující vzorec, zobrazí se vyskakovací zpráva, že hodnotu buňky nelze změnit.

Vysvětlení kódu

rng.HasFormula

Metoda HasFormula vrátí True, pokud buňka obsahuje vzorec. Jinak vrátí False.

ActiveSheet.Protect

Výše uvedený kód slouží k ochraně buňky.

Poznámka: Buňka bude chráněna, pouze pokud je uzamčena. Buňka tedy musí být před ochranou chráněna.

ActiveSheet.Unprotect

Výše uvedený kód se používá k zrušení ochrany buňky.

Pro kód prosím postupujte níže

 'Přidat níže kód do modulu listu Volba Explicitní Soukromá Sub Worksheet_SelectionChange (ByVal Cíl jako Rozsah) Dim rng jako rozsah pro každý rng V Target.Cells If rng.HasFormula Then ActiveSheet.Protect Else ActiveSheet.Unprotect End If Next rng End Sub 

Pokud se vám tento blog líbil, sdílejte ho se svými přáteli na Facebooku. Také nás můžete sledovat na Twitteru a Facebooku.

Rádi bychom od vás slyšeli, dejte nám vědět, jak můžeme zlepšit naši práci a zlepšit ji pro vás. Napište nám na e -mail

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave