これをワークシートのコード モジュールに配置すると、ステータス バーにリマインダーが配置されます (これにより、セル A1 にステータスを書き込むためにシートをロック/ロック解除する必要がなくなります)。
これを Sheet1 コード モジュールに入れます。マクロは、sheet1 がアクティブになるたびに実行されます。
Private Sub Worksheet_Activate()
If ActiveSheet.ProtectContents then
Application.StatusBar = "This sheet is protected"
Else:
Application.StatusBar = "This sheet is unprotected"
End If
End Sub
Private Sub Worksheet_Deactivate()
Application.StatusBar = False
End Sub
ワークシートを保護/保護解除するには、これを Insert>Module に追加します。 次に、これらのマクロを個別のコマンド ボタンに添付するか、[開発] > [マクロ] リボンから実行します。
Const myPassword as String = "password" '<-- replace "password" with your password
Sub Sht1Protect()
Sheet1.Protect myPassword
End Sub
Sub Sht1Unprotect()
Sheet1.Unprotect myPassword
End Sub
ファイルを閉じたときにシートが常に保護されるようにするには、これを Workbook コード モジュールに挿入します。
Private Sub Workbook_Close()
Sht1Protect
End Sub
ファイルを保存するか保存しないかなどを制御するために、追加の処理が必要になる場合があります。