Celbeveiliging alleen voor formules die VBA gebruiken in Microsoft Excel

Inhoudsopgave

In dit artikel zullen we de wijzigingsgebeurtenis van het werkblad gebruiken om cellen te beschermen die formules bevatten.

Ruwe gegevens bestaan ​​uit verkoopgegevens van werknemers, inclusief splitsing per maand en jaar.

We willen de totale verkoop per maand en per jaar weten.

We hebben de somfunctie gebruikt om de totale verkoop op maand- en jaarbasis te berekenen. Wijzigingsgebeurtenis van werkblad wordt gebruikt om cellen te beschermen die formules bevatten. Wanneer we proberen een cel met een formule te bewerken, krijgen we een pop-upbericht waarin staat dat de celwaarde niet kan worden gewijzigd.

Code uitleg

rng.HasFormule

De HasFormula-methode retourneert True als een cel een formule bevat. Anders wordt False geretourneerd.

ActiveSheet.Protect

De bovenstaande code wordt gebruikt om een ​​cel te beveiligen.

Opmerking: Een cel wordt alleen beveiligd als deze is vergrendeld. Dus voordat een cel wordt beschermd, moet deze worden vergrendeld.

ActiveSheet.Bescherming opheffen

De bovenstaande code wordt gebruikt om de beveiliging van een cel op te heffen.

Volg hieronder voor de code:

 'Voeg onderstaande code toe in werkbladmodule Optie 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 

Als je deze blog leuk vond, deel hem dan met je vrienden op Facebook. Ook kunt u ons volgen op Twitter en Facebook.

We horen graag van u, laat ons weten hoe we ons werk kunnen verbeteren en voor u kunnen verbeteren. Schrijf ons op de e-mailsite

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave