別のシートのセルの値に基づいて、指定したシートをロック/ロック解除したいとします。 私はシートform
のためのワークシートの変更に次のコードを書いた:Status
がactive
以外である場合しかし、私はまだ「Rangeクラスの隠されたプロパティを設定することができません」を取得overview
でいくつかのセルを変更することができますロックシートが意図したとおりに動作しない
Application.ScreenUpdating = False
Status = Sheets("form").Range("J2")
If Status = "Active" Then
Sheets("overview").Unprotect "password"
'MsgBox "The template is now unlocked"
Else
Sheets("overview").Protect "password"
'MsgBox "The template is locked"
End If
Application.ScreenUpdating = True
現れる。 どこにエラーがありますか?
?どのモジュールまたはワークシートイベントでそれを持っていますか?私はちょうどそれをテストし、それは私のExcelワークブックで動作します。 –
以下のコードを試してみてください。フォームワークシートの "J2"セルの値を変更しているときに動作しています。 –
それが適切かどうかわかりませんが、J2の値はドロップダウンリストから選択できます。 –