

VBAを始めたばかりです。
言葉等に間違いがあると思うのですがお許しください。
指定したセル(B3)に入力があればB3のみにロックをかけて、そうでなければ書き込み可能にしたいです。また、シート内にB3以外にもロックをかけてあるセルがあります。
下記の'1のところでエラーが出てしまい困っています。
どうしたらよいのかお教えください。
よろしくお願いいたします。
Sub test()
Dim w As Worksheet
Dim r As Range
Set w = Worksheets("sheet1")
Set r = w.Range("B3")
If r = "" Then
w.Unprotect
ElseIf r <> "" Then
r.Locked = True '1
End If
End Sub
No.3ベストアンサー
- 回答日時:
対象のシートがアクティブになった時ならば
-----------------------------------------------------------------------------------------
Private Sub Worksheet_Activate()
ActiveSheet.Unprotect
If Range("B3").Value = "" Then
Range("B3").Locked = False
Else
Range("B3").Locked = True
End If
ActiveSheet.Protect
End Sub
-----------------------------------------------------------------------------------------

No.2
- 回答日時:
手動でロックならば以下のような感じでいかがでしょうか?
-----------------------------------------------------------------------------------------
Sub test()
With Sheets("Sheet1")
.Unprotect
If .Range("B3").Value = "" Then
.Range("B3").Locked = False
Else
.Range("B3").Locked = True
End If
.Protect
End With
End Sub
-----------------------------------------------------------------------------------------
エラーの原因ですがロック状態を変更するときにシートの保護を一時的に解除しておかないといけないからだと思います。
自動でロックならば対象のシートへ(下図参照)
-----------------------------------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "B3" Then
ActiveSheet.Unprotect
If Target.Value = "" Then
Target.Locked = False
Else
Target.Locked = True
End If
ActiveSheet.Protect
End If
End Sub
-----------------------------------------------------------------------------------------

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
大手のよくみるロック板のある...
-
Excel VBA 選択したセルのみ保...
-
旦那がiPhoneにロックかけるよ...
-
邦ロック初心者です。ロッキン2...
-
エクセルでシート保護した後に...
-
オーケストラや指揮が 日本人だ...
-
『ロックな生き方』ってどうい...
-
聖飢魔IIとデーモン閣下の所属...
-
ブラックラグーン15話の最後に...
-
たかが、されど
-
先日バイト中に有線からクラシ...
-
Access200 ADO adLockPessimist...
-
ロックンロールはたかがロック...
-
Dellのモニターの高さ調節がで...
-
ロックとロックンロール
-
オレンジレンジのPVのロケ地
-
ロック好きな女の子はキライで...
-
ファイルにロックはかけられま...
-
デジカメ 久しぶりに使おうと思...
-
皆さんの好きなロックバンドを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
オーケストラや指揮が 日本人だ...
-
『ロックな生き方』ってどうい...
-
大手のよくみるロック板のある...
-
邦ロック初心者です。ロッキン2...
-
マザーボードからSATAケーブル...
-
Dellのモニターの高さ調節がで...
-
スノボ用ワイヤーロックのパス...
-
聖飢魔IIとデーモン閣下の所属...
-
ロックとロックンロール
-
たかが、されど
-
エクセルでシート保護した後に...
-
ロック好きな女の子はキライで...
-
「Slow Rock」などの意味
-
ノートパソコンのセキュリティ...
-
デジカメ 久しぶりに使おうと思...
-
ブラックラグーン15話の最後に...
-
Excel VBA 選択したセルのみ保...
-
Access200 ADO adLockPessimist...
-
旦那がiPhoneにロックかけるよ...
-
ロック界の系統図?
おすすめ情報
シートを開いたらマクロが動くようにしようと思っています。
遅くなり申し訳ありません。
よい確認をしてくださいまして、ありがとうございます。
書き忘れていました。
シートが開くと自動で動くようにしたいと思っています。