電子書籍の厳選無料作品が豊富!

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

http://oshiete.goo.ne.jp/qa/6067314.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への書き方がまずいでしょうか。

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

A 回答 (1件)

マクロで記述する必要はありません。


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

この回答への補足

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

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

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

補足日時:2010/07/27 18:07
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!