Защита на клетките само за формули, използващи VBA в Microsoft Excel

Съдържание

В тази статия ще използваме събитие за смяна на работния лист, за да защитим клетки, които съдържат формули.

Необработените данни се състоят от данни за продажбите на служителите, които включват раздвояване по месец и година.

Искаме да разберем общите продажби по месеци, както и по години.

Използвахме функция сума за изчисляване на общите продажби на месечна и годишна база. Събитието за смяна на работния лист се използва за защита на клетки, които съдържат формули. Когато се опитаме да редактираме клетка, съдържаща формула, ще получим изскачащо съобщение, че стойността на клетката не може да бъде променена.

Обяснение на кода

rng.HasFormula

Методът HasFormula ще върне True, ако клетка съдържа формула. В противен случай ще се върне False.

ActiveSheet.Protect

Горният код се използва за защита на клетка.

Забележка: Клетката ще бъде защитена само ако е заключена. Така че преди да защитите клетка, тя трябва да бъде заключена.

ActiveSheet.Unprotect

Горният код се използва за премахване на защитата на клетка.

Моля, следвайте кода по -долу

 „Добавете кода по -долу в модула на работен лист Опция Изрично частно под работен лист_SelectionChange (ByVal Target As Range) Dim rng As Range За всеки rng в Target.Cells Ако rng.HasFormula След това ActiveSheet.Protect Else ActiveSheet.Unprotect End If Next rng End Sub 

Ако този блог ви е харесал, споделете го с приятелите си във Facebook. Също така можете да ни следвате в Twitter и Facebook.

Ще се радваме да чуем от вас, уведомете ни как можем да подобрим работата си и да я направим по -добра за вас. Пишете ни на имейл сайта

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave