• 締切済み

エクセル2013でシートの一部を保護

エクセル2013で、40枚近いシートがあります。すべてのシートの一部を保護したいのですが、 一括して保護したり、解除する方法を教えてください。 シートの保護したいい箇所はすべて同じです。

みんなの回答

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.3

作業の自動化はマクロの仕事です。マクロで処理したらどうですか? もちろん VBAの知識が最低限必要ですけど…… ただどうも 表の作り方や使い方自体を見直した方がいいように思い ますね。同じ形式のシートを たくさんに分けてしまうのはお勧めで きかねます。

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.2

マクロで対応するのでしたら、いずれかのシートでマクロの記録を開始(マクロ名はMacro1)して保護したいセルを選択後、記録を終了してください。 マクロの記録はステータスバーの左の準備完了の横の四角い表に丸が付いたアイコンをクリックするか、表示タブの右端のマクロをクリックしてマクロの記録で実行できます。 終了は、記録を実行を開始したアイコンか表示タブのメニューを再度クリックすると終了できます。 その後、表示タブの右端のマクロで、マクロの表示で出たダイアログでMacro1を選んで編集ボタンをクリックしてください。 マクロの編集画面が開いて以下のコードが表示されます。以下の例はC5からF11までを選択した場合です。 Sub Macro1() ' ' Macro1 Macro ' ' Range("C5:F11").Select End Sub 上記の' ' Macro1 Macro ' ' の部分はいらないので削除してください。 Macro1を保護とかわかりやすい名前に変更して(以下は保護に変更した例) 以下のように記録されたところの前後に追加してください。 Sub 保護() Dim ws As Worksheet For Each ws In Worksheets ws.Activate Cells.Select Selection.Locked = False Range("C5:F11").Select 'ここが記録で作成された部分 Selection.Locked = True Selection.FormulaHidden = True ws.Protect Range("A1").Select Next End Sub すぐ下に以下をすべてコピーして貼り付けてください。 Sub 解除() Dim ws As Worksheet For Each ws In Worksheets ws.Activate ws.Unprotect Cells.Select Selection.Locked = True Selection.FormulaHidden = False Range("A1").Select Next End Sub これで、表示タブのマクロの表示をクリックしたら「保護」と「解除」が選択肢に出ますので必要な方を選択して実行してください。

  • ks10
  • ベストアンサー率25% (2/8)
回答No.1

VBAを使用してみてはいかがでしょうか。 ただ、VBA未経験の場合はプログラムをするよりも、こつこつ手動で作業した方が早く終わるような気もしますが...

参考URL:
http://www.officepro.jp/excelvba/sheet_ope/index2.html

関連するQ&A

専門家に質問してみよう