エクセルVBA シートの保護について
エクセルの「シートの保護」について教えてください。
特定のシートのみ、保護したいと思っています。
そのシートの一定の範囲には、入力のみを許可したいです。
というのも、他の範囲(保護したい範囲)には、数式やvbaが設定されており、むやみやたらに「切り取り」や「行や列の削除」をされると困るからです。
そこで、
入力を許可する範囲を選択
→セルの書式設定
→保護のロックを外す
→シートの保護
→「ロックされていないセル範囲を選択」を選択
しました。
この状態でマクロを実行すると、エラー1004(保護されたシートに対してこのコマンドは使用できません)とエラーが出ました。
エラー箇所は以下のとおりです。
Intersect(Worksheets("sheet1").Range("C5").CurrentRegion, Worksheets("sheet1").Rows("5:65536"), Worksheets("sheet1").Columns("C:T")).Select
(質問1)
ロックを外し、その後にシートの保護をする際、「全範囲を選択してから」シートの保護を行うものなのでしょうか。
それともシートの保護をすれば、自動的に、ロックを解除した範囲以外(全範囲)で保護したことになるのでしょうか。
「全範囲を選択してから」シートの保護をすると、ロックを外したセルを選択しても、アクティブセルが罫線で囲われずどこを選んでいるのか分からなくなってしまったので。
もし、あえて全範囲を選択する必要がないなら、それでいこうと思っています。
(質問2)
上記エラーを解消するには、どうしたら良いのでしょうか。
全範囲を選択できないように保護していることが原因かと思い、全範囲について「シートの保護→ロックされたセル範囲の選択」を選んでもエラー解除できませんでした。
また、Intersect.Selectの一行上に「ThisWorkbook.Unprotect」と追加しても解除できませんでした。
2つも質問して申し訳ありませんが、ご存知の方はご教授お願いします。
よろしくお願いします。
補足
ありがとうございました。 これはセルの書式設定した範囲にシートの保護する時に利用する方法の事でしょう か? セルの書式設定ならセルに色をつけなくてもジャンプ機能で範囲が確認できるので すが・・・・。 解釈が間違っていたらごめんなさい。私の読解力のなさでお許し下さい。 シートの保護のロックをした時に同時にセルの書式設定を利用して色を付けるとい うアイデアでしょうか? 計算式を埋め込んだセルを削除してはいけないので、そのセルには色を付けて注意 を促していますが、それでも間違って削除してしまう事がままあるので、そのセル に色を付けた他にシートに保護をかけています。 その色もメリハリをつける意味で2~3色位使っているので(例 小計と総合計と は別な色に)、セルの書式設定に薄い色を付けると、色がかぶる部分も出てきてし まいます。