この記事では、ワークシートの変更イベントを使用して、数式を含むセルを保護します。

生データは、月と年ごとの分岐を含む従業員の売上データで構成されます。

ArrowRawData

年ごとだけでなく、月ごとの総売上高を調べたいと思います。

ArrowRawData2

合計関数を使用して、月次および年次ベースで総売上高を計算しました。ワークシートの変更イベントは、数式を含むセルを保護するために使用されます。数式を含むセルを編集しようとすると、セルの値を変更できないことを示すポップアップメッセージが表示されます。

コードの説明

rng.HasFormula HasFormulaメソッドは、セルに数式が含まれている場合にTrueを返します。

それ以外の場合はFalseを返します。

ActiveSheet.Protect上記のコードは、セルを保護するために使用されます。

注:セルは、ロックされている場合にのみ保護されます。したがって、セルを保護する前に、セルをロックする必要があります。 ActiveSheet.Unprotect上記のコードは、セルの保護を解除するために使用されます。

コードについては以下に従ってください

'Add below code in worksheet module

Option 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

このブログが気に入ったら、FacebookやFacebookで友達と共有してください。

皆様からのご意見をお待ちしております。私たちの仕事を改善し、あなたのために改善する方法をお知らせください。 [email protected]までご連絡ください