- ベストアンサー
複数シートの保護・解除
Excelで、複数のシートの保護・解除を一度に行いたいのですが、 方法はないのでしょうか? 単純に複数シートを選択した状態で、 メニューを開いても、シート保護・解除のメニューが灰色になって 使えません。 単一シートでの保護・解除の仕方は分かります。 裏技をご存知の方、是非教えてください!
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
私もやってますw マクロを使うしかないです。(全部のシートです) 複数シートの保護解除 「Dim ws As Worksheet For Each ws In Worksheets ws.Unprotect Next End Sub」 シートの保護 「Dim ws As Worksheet For Each ws In Worksheets ws.Protect Next End Sub」 以上です。 特定のシートのみを選択したままの保護・解除はこれでは出来ません。私には無理w 各種条件を変えることも出来ます(exオブジェクトのみとか)
その他の回答 (3)
- hana-hana3
- ベストアンサー率31% (4940/15541)
VBAなら可能です。
お礼
ご回答ありがとうございました。
- merlionXX
- ベストアンサー率48% (1930/4007)
裏ワザではないですがVBAを使うやり方です。 とりあえず以下を試してみてください。 1.エクセルを開いている状態で、Alt+F11キーでVisualBasicEditorを呼び出します。 2.メニューから挿入、標準モジュールで出てきたコードウィンド(右側の白い広い部分)に以下のコードをコピペします。 Sub All_Protect() For Each sh In Worksheets sh.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True Next End Sub Sub All_UnProtect() For Each sh In Worksheets sh.Unprotect Next End Sub 3.Alt+F11キーでワークシートへもどります. 4.メニューから、ツール、マクロ、マクロで出てきたマクロ名(All_ProtectやAll_UnProtect)を選択して実行 これでブック内の全シートを一度に保護したり、解除したりが可能です。
お礼
迅速なご回答ありがとうございました。 通常の操作で出来ないのは残念ですが、 マクロででも出来てよかったです。 何しろ、シートが30ほどあるものですから。 コードまで載せて頂いて、本当に感謝しております。
- Cupper
- ベストアンサー率32% (2123/6444)
ありません。 ブック単位で保護をするか、保護したいシート毎に保護をかけるしかありません。
お礼
ご回答ありがとうございました。
お礼
迅速なご回答ありがとうございました。 通常の操作で出来ないのは残念ですが、 マクロででも出来てよかったです。 何しろ、シートが30ほどあるものですから。 コードまで載せて頂いて、本当に感謝しております。