今は2003を使っています。
よく1年分のデータを集計します。
1月から12月までのシートを作り、13枚目に1年の集計をする形です。
いったん「シートの保護」をしたら、(表自体を)修正するときには12回保護の解除を行い、
終わったら12回シートの保護をしなければならず、大変面倒です。
複数のシートを選択すると、「シートの保護」というところがグレーになり、選択できません。
検索すると、複数のシートの保護を一度に解除するというソフトは発見しましたが(それは2000対応とのことで、試してはいませんが)、
解除も保護も一度にできないものでしょうか?
No.1ベストアンサー
- 回答日時:
マクロを使いましょう。
どのレベルまで保護したいかが当方では分かりませんので、自由になるように書きたいと思います。
まずは保護したいブック(ファイル)を開いてください。この時どのシートを開いていても結構です。
以下の操作をしてください。
1) ツール(T)-マクロ(M)-新しいマクロの記録(R) を選択してください。
2) 現れた「マクロの記録」ウィンドウの、マクロ名(M)という部分に「Macro1」と書かれていると思いますが、これを「全シートの保護」と書き換えてください。
3) ツール(T)-保護(P)-シートの保護(P) を選択し、シートを保護します。その際、「ユーザーに許可する操作(O)」の部分については、お好きなように設定してください。
4) 記録を終了してください。
5) 同じシートを開いたまま、再びマクロの記録(R)を選択します。マクロ名は「全シートの保護解除」と書き換えます。
6) ツール(T)-保護(P)-シート保護の解除(P)を選択し、シートの保護を解除します。保護を解除したら記録を終了します。
さて、ではこの操作を全部のシートに適用できるようにしましょう。Altキーを押しながらF11キーを押してください。Visual Basic Editorという別のウィンドウが立ち上がります。このウィンドウに対して、以下の操作をしてください。
1) 画面左側に、エクスプローラの左側のような画面「プロジェクト」というのがあると思います。そこに、標準モジュールと書かれていると思いますので、その左の「+」と書かれた部分をクリックしてください。
2) すると「Module1」という表示が現れると思います。これをダブルクリックすると、右側に新しいウィンドウが表示されます。そこには以下のように書かれていると思います。
Sub 全シートの保護()
'
' 全シートの保護 Macro
' マクロ記録日 : 2005/2/18 ユーザー名 : ○○ ○○
'
'
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Sub 全シートの保護解除()
'
' 全シートの保護解除 Macro
' マクロ記録日 : 2005/2/18 ユーザー名 : ○○ ○○
'
'
ActiveSheet.Unprotect
End Sub
ActiveSheet.Protect の後ろの部分は、シートの保護を実行した時のオプションが違うと変わってきますので、そこは気にしないでください。
3) さて、これを書き換えていきます。まずは、「ActiveSheet」と2箇所書かれていると思いますが、どちらも「Sh」と書き換えてください。
4) 今書き換えた行の上に
For Each Sh In Worksheets
と書き加えます。2行ともです。
5) 今度は3)で書き換えた行の下に
Next Sh
と書き加えます。2行ともです。
6) 保存してウィンドウを閉じます。
これで終了です。全シートを保護したい時は、Altキーを押しながらF8キーを押してマクロウィンドウを開き、「全シートの保護」を選んで実行(R)を、解除したい時は「全シートの保護解除」を選んで実行(R)を押してください。目的の操作ができると思いますよ。
ご回答ありがとうございます。
なるほど…マクロですか。
簡単なマクロを数回使ったことがあるだけですので少々自信がありませんが、さっそく試してみようと思います。
ありがとうございました。
No.5
- 回答日時:
既に幾つかVBAコードが回答されておりますが、選択されたシートだけを保護・保護解除の対象とするサンプルです。
つまり、シートの順番やシート名がVBAで指定不要なため、汎用的に使えます。ご参考までに。
【以下コード】
'パスワード設定
Public Const strPasswrd As String = "sample"
Sub 選択シート保護()
Dim i As Integer
Dim strSH() As String
Application.ScreenUpdating = False
With ActiveWindow
N = .SelectedSheets.Count
ReDim strSH(1 To N)
For i = 1 To N
strSH(i) = .SelectedSheets(i).Name
Next i
'作業グループ解除
.SelectedSheets(1).Select
'シート保護
For i = 1 To N
'パスワードを設定するなら次行のコメント解除
Sheets(strSH(i)).Protect 'Password:=strpaswrd
Next i
'作業グループ再設定する場合はコメント解除
'Sheets(strSH).Select
End With
End Sub
Sub 選択シート保護解除()
Dim i As Integer
Dim strSH() As String
Application.ScreenUpdating = False
With ActiveWindow
N = .SelectedSheets.Count
ReDim strSH(1 To N)
For i = 1 To N
strSH(i) = .SelectedSheets(i).Name
Next i
'作業グループ解除
.SelectedSheets(1).Select
'シート保護解除
For i = 1 To N
'パスワードを設定するなら次行のコメント解除
Sheets(strSH(i)).Unprotect 'Password:=strpaswrd
Next i
'作業グループを再設定する場合はコメント解除
'Sheets(strSH).Select
End With
End Sub
この回答への補足
こちらの補足をお借りしてみなさんにお礼申し上げます。
長年「何とかならないか」と思っていたことが、これで解決しそうです。
これを機に、マクロをもうちょっと勉強しようと思います。
みなさんありがとうございました。
ポイントはお二人にしかつけられませんが、みなさんに20p差し上げたい気持ちです。
大変お世話になりました。
むむむ…ちょっと難しそうですね…
ですが大変参考になります。
今まで面倒そうなマクロを敬遠していたので(EXCEL関数は得意なんですが…)、ちょっとがんばってみようと思います。
大変参考になります。
アドバイス、ありがとうございました。
No.4
- 回答日時:
シート名が m月 なら、以下だけです。
For ii=1 to 12
Worksheets(ii & "月").Ptotect 'シート保護
Next ii
保護解除の場合は、Protect を Unprotect にします。
パスワードを掛けている場合は、
Protect ("パスワード")
か
Unprotect ("パスワード")
になります。
なるほど~。
シート名を選んで保護することもできるのですね。
マクロはいまいち自信がありませんが、挑戦してみます。
アドバイスありがとうございました。
No.3
- 回答日時:
この場合はマクロで対応するのが簡単です。
例えばすべてのシートを保護するなら以下のマクロを実行します。
Sub sample()
Dim i As Integer
For i = 1 To Sheets.Count
Sheets(i).Select
ActiveSheet.Protect
Next i
End Sub
保護をはずすなら
ActiveSheet.ProtecttをActiveSheet.UnprotectにすればOKです。
最後のシートを保護しないなら
For i = 1 To Sheets.Count - 1 に変更してください。
シートは全部保護します。(1~12枚目は入力するセルだけ保護をはずします。13枚目は各シートの合計額の参照だけです。)
最後のシートだけ保護をはずす方法もあるのですね。
大変参考になります。
これからマクロに挑戦してみます。
アドバイスありがとうございました。
No.2
- 回答日時:
保護する意図がわからないので、ずれた回答になるかもしれません。
ファイル自体を保護すれば解決するのではないでしょうか。
「名前を付けて保存」で「ツール」→「全般オプション」
を試してみては?
すみません。説明が足りなかったようで。
作った表(ファイル)は主に私ではないパソコン初心者が使う物で、計算式なども簡単なものなのですが、
誤って入力した際本人では直すことができないため、「ひながた」として表を私が作っているのです。
今回はマクロを使用すればいいとアドバイスをいただき、そちらに挑戦してみるつもりですが、
「全般オプション」の方も、試してみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
家の中でのこだわりスペースはどこですか?
自分の家で快適に過ごすために工夫しているスペースはありますか? 例)ベランダでお茶を飲むためのカフェテーブル ゲーミングに特化したこだわりのPCスペース
-
チョコミントアイス
得意ですか?不得意ですか?できれば理由も教えてください。
-
とっておきの手土産を教えて
お呼ばれの時や、ちょっとした頂き物のお礼にと何かと必要なのに 自分のセレクトだとついマンネリ化してしまう手土産。 ¥5,000以内で手土産を用意するとしたらあなたは何を用意しますか??
-
おすすめのモーニング・朝食メニューを教えて!
コメダ珈琲店のモーニング ロイヤルホストのモーニング 牛丼チェーン店の朝食などなど、おいしいモーニング・朝食メニューがたくさんありますよね。
-
うちのカレーにはこれが入ってる!って食材ありますか?
カレーって同じルーから作っても、家庭によって入っているものや味が微妙に違っていて面白いですよね! 「我が家のカレーにはこれが入ってるよ!」 という食材や調味料はありますか?
-
エクセルの複数シートの保護を一括でする方法を教えてください(編集したいセルあり)
Excel(エクセル)
-
エクセル・複数のシートを一度に保護できませんか?
その他(ソフトウェア)
-
複数シートの保護・解除
Excel(エクセル)
-
-
4
Excelマクロ パスワードを入力して、全シート一括保護解除したい。
その他(Microsoft Office)
-
5
複数シートを一括で保護を掛ける際に書式設定は「変更可」にするVBAを教えて下さい。
Excel(エクセル)
-
6
エクセルファイルを開く時、常に同じシートから開くようにするには?
Windows Vista・XP
-
7
フォルダ内の複数ブック・シートを一括保護/解除する
PowerPoint(パワーポイント)
-
8
Excelシートの保護(図の挿入だけ許可)
Excel(エクセル)
-
9
すべてのシートを選択してエクセルの入力規則
Excel(エクセル)
-
10
有無、要否、賛否、是非、可否、当否…これらの言葉について
その他(教育・科学・学問)
-
11
エクセルの複数のセルを一括で絶対参照にする方法
Excel(エクセル)
-
12
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
13
エクセルのチェックボックスを保護対象から外すには
Windows Vista・XP
-
14
Excelのテーブル上のセルの保護はどうすればいい?
Excel(エクセル)
-
15
別ファイルを開かず、INDIRECT関数を使用せずに、別ファイルのデータを求めたい
Excel(エクセル)
-
16
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
17
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
18
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
19
Excelで重複データの件数ではなく、何番目かを求める方法
Excel(エクセル)
-
20
特定セルの内容を更新したら、その更新日を自動的に表示する方法について
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルでブック内の倍率がバ...
-
【ExcelVBA】マクロの入ったシ...
-
EXCELの図形(テキストボックス)...
-
ハイパーリンクでジャンプした...
-
特定のシートのみ再計算させな...
-
エクセルで複数のシートに画像...
-
エクセルのシー名を二段表示に...
-
ワークシートそのものの色を変...
-
Wordで差し込み印刷時に表示す...
-
Accessのテーブルを既存のExcel...
-
EXCELで存在しないシート...
-
エクセル2003で、複数のシート...
-
エクセルでリンク貼り付けした...
-
Excelのオートフィルター等のリ...
-
エクセルのシート連番の振り直し
-
Excelでマクロ設定したが反映さ...
-
エクセルで誤ってF11キーを押す...
-
エクセル、特定のシートにパス...
-
(エクセル)Indirect関数で、ハ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルでブック内の倍率がバ...
-
ハイパーリンクでジャンプした...
-
特定のシートのみ再計算させな...
-
エクセルで複数のシートに画像...
-
【ExcelVBA】マクロの入ったシ...
-
EXCELの図形(テキストボックス)...
-
エクセルのシー名を二段表示に...
-
エクセルのシート連番の振り直し
-
ワークシートそのものの色を変...
-
EXCELの「シートの見出し」のフ...
-
Accessのテーブルを既存のExcel...
-
Wordで差し込み印刷時に表示す...
-
エクセル、特定のシートにパス...
-
EXCELで存在しないシート...
-
エクセルの2つのシートを並び...
-
アクセスからエクセルのシート...
-
指定したシート名以外を非表示...
-
エクセル、別のシートの表をポ...
-
エクセルで誤ってF11キーを押す...
おすすめ情報