アプリ版:「スタンプのみでお礼する」機能のリリースについて

シートに、マクロ実行時以外保護をかけておきたいです。
(マクロで、ロックをかけたセルを操作したいので)

「マクロを記録する」で保護をかける操作を記録してもらったところ、
「許可する操作」は以下の記述で実行されるようです。
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も違うようなのですが(なぜかどちらも一時は動いたような…)。

A 回答 (1件)

各シートではなく、「ThisWorkbook」のWorkbook_Openイベントに書くと良いと思います。


その際、
ActiveSheet.Protect という指定は使えないので
Worksheets("Sheet1").Protect のように、シートを指定してあげてください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

Private Sub workbook_Open()
に書込んでみたところ、動作を確認しました。
ありがとうございます。

お礼日時:2007/07/05 16:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!