エクセル:常に保護をかけるがマクロは有効
シートに、マクロ実行時以外保護をかけておきたいです。
(マクロで、ロックをかけたセルを操作したいので)
「マクロを記録する」で保護をかける操作を記録してもらったところ、
「許可する操作」は以下の記述で実行されるようです。
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, _
AllowInsertingColumns:=True, AllowInsertingRows:=True, _
AllowDeletingColumns:=True, AllowDeletingRows:=True
ここに「マクロからの変更は有効」の UserInterfaceOnly:=True を加えた以下のコードは、
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, _
AllowInsertingColumns:=True, AllowInsertingRows:=True, _
AllowDeletingColumns:=True, AllowDeletingRows:=True, UserInterfaceOnly:=True
どのSubに記述すればよいでしょうか。
ワークシートに直接書込むんですよね?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
に書いてみたら一時期正常に動いていたと思うのですが、どうやら勘違いだったみたいです。
ActiveもChangeも違うようなのですが(なぜかどちらも一時は動いたような…)。