こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excelファイルを開いた時に、特定のシートに保護をかけたいです。

Excelファイルを開いた時に、特定のシートに保護をかけたいです。

http://okwave.jp/qa/q6067314.html
本日質問しましたカーソルの変な動作の原因というか引き金がわかりましたので、
再度質問致します。

Sheet1, Sheet2, Sheet3の3シートがあるExcelファイルを開いた時に、Sheet2に保護をかけたいです。
そこで、
ThisWorkbookの中に、以下のように記述しました。
Private Sub Workbook_Open()
 Worksheets("Sheet2").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
 Worksheets("Sheet2").EnableSelection = xlUnlockedCells  'マクロ使用時には保護を無視したい
End Sub

このように記述し、Excelファイルを開くと、Sheet2に保護がかかります。
ただし、
(Excelファイルを開く際は、「前回保存時に開いていたシートで開く」と思うのですが、)
このExcelファイルをSheet1またはSheet3を表示させた状態で保存すると、
次にこのExcelファイルを開いた時になぜかSheet1または3にも保護がかかってしまいます。
この「Sheet1または3にかかった保護」は、一度別のシートに切り替えることで解除される一時的なものなのですが、
なぜ指定していないSheet1または3にも保護がかかってしまうのでしょうか。
ThisWorkbookへの書き方がまずいでしょうか。

以上、知っている方いましたらよろしくお願いいたします。

投稿日時 - 2010-07-27 17:29:15

QNo.6068320

暇なときに回答ください

質問者が選んだベストアンサー

マクロで記述する必要はありません。
バージョンが2007であれば「校閲」タブの右の方に「シートの保護」という項目があります。
わからなければ
MicrosoftOfficeOnline
というサイトを参照してください。

投稿日時 - 2010-07-27 17:50:34

補足

回答ありがとうございます。

申し訳ありません、説明不足でした。
仮に検閲タブにて手動で保護を解除して保存した場合でも、
起動時に特定のシートだけ保護をかけなおしたい、
ということで起動時に必ず動く部分に「Sheet2を保護して」と書きたいです。

よろしくお願いいたします。

投稿日時 - 2010-07-27 18:07:08

ANo.1

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問