【VBA】イベントプロシージャを使って特定のセルだけ編集可能にする

Excel VBA すべて

2025年1月26日のブログではエクセルVBAでシート保護をして特定のセル(A列)だけ編集可能にする方法を載せましたが、今回はシート保護より簡単にイベントプロシージャを使ってA列だけ編集可能にする方法を紹介します。

VBE(Visual Basic Editor)を起動してSheet1をダブルクリックし下のコードをコピーして貼り付けます。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Intersect(Target, Columns("A")) Is Nothing Then '選択されたセルがA列以外の場合は。

Application.EnableEvents = False 'イベントループしないようにイベントを無効にします。
Cells(ActiveCell.Row, 1).Select 'A列を選択します。
Application.EnableEvents = True 'イベントを有効にします。

End If

End Sub

コードを貼り付けてからシート1を表示してA列以外のセルをクリックしてみると一瞬でアクティブセルがA列に戻るようになります。

シートの保護のように完全に選択されないようにはできませんが、簡単に設定することができるのでぜひお試しください。(”•ᴗ•”)

コメント