
エクセルの「シートの保護」について教えてください。
特定のシートのみ、保護したいと思っています。
そのシートの一定の範囲には、入力のみを許可したいです。
というのも、他の範囲(保護したい範囲)には、数式や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つも質問して申し訳ありませんが、ご存知の方はご教授お願いします。
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは。
VBAでは、初歩的なことですが、Protect メソッドの UserInterfaceOnly のオプションがあります。
Protectが掛かった状態で、手動では変更できなくても、VBAマクロでは可能にする場合に利用します。
例えば、このように、ブックのオープン時に一瞬、プロテクトを解除して、プロテクトをする時に、マクロを有効にさせます。
'//
Private Sub Workbook_Open()
With Worksheets("Sheet1")
.Unprotect Password:="PWS"
.Protect Password:="PWS", UserInterfaceOnly:=True
End With
End Sub
'//
※なお、このおまじないの有効期間は、ブックを閉じるまでの間だけのです。
したがって、私などは、つい、その働きを忘れがちになってしまうので、Workbook_Openなどで、設定します。マクロ起動時、その都度、行う必要はありません。これに付随したオプションがありますので、研究してみてください。
Q.1の解答
シートの保護をすれば、自動的に、ロックを解除した範囲以外(全範囲)は保護したことになる。
Q.2の解答
前文のコマンドで、エラー1004(実行時エラー)は、解消されるはずです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで別シートの同じ位置...
-
エクセルの下部のシートタブの...
-
ワークシートの行が途中から表...
-
EXCELでコピーしたグラフのデー...
-
エクセルでセルの書式設定がで...
-
シート全体を他のブックのシー...
-
【マクロ】【画像あり】4つの...
-
シート保護したExcelへの画像貼...
-
excelで勝手にテキストボックス...
-
シート保護してても並び替えを...
-
エクセルで数式は残したまま他...
-
VBA アクティブでないシートの...
-
エクセルでの複数シートへの同...
-
フィルタされたものを切り取り...
-
エクセルファイルの容量が大き...
-
Excelでハイパーリンク先の表示...
-
【エクセル】表から条件に合っ...
-
Excelで大量の2000個のリストを...
-
Excelの関数
-
エクセルのマクロでコピー後の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで別シートの同じ位置...
-
エクセルの下部のシートタブの...
-
【マクロ】【画像あり】4つの...
-
ワークシートの行が途中から表...
-
EXCELでコピーしたグラフのデー...
-
エクセルでセルの書式設定がで...
-
シート全体を他のブックのシー...
-
エクセルで数式は残したまま他...
-
Excelで保護のかかったシートの...
-
シート保護したExcelへの画像貼...
-
ロックしたセルのコピー&貼り付け
-
VBA アクティブでないシートの...
-
excelで勝手にテキストボックス...
-
スプレッドシートが真っ白にな...
-
【エクセル】表から条件に合っ...
-
Excelで大量の2000個のリストを...
-
シート保護してても並び替えを...
-
フィルタされたものを切り取り...
-
エクセルで多数のシートをまと...
-
エクセルで打ち込んだ数字を自...
おすすめ情報