• ベストアンサー

エクセル シート保護をかけるとアウトラインが動作しない

Win2000 OfficeXPです。 アウトラインを設定し、シート保護をかけると、アウトラインのボタンをクリックしてもエラーが出てしまいます。 動作させる方法はあるのでしょうか? 保護はマクロを使用してかけています。 過去の類似質問の回答を見ると  >代替策となりますが、  >入力規則を使ってはいかがでしょうか?  >「ユーザー設定」にして「*」で指定しておけば、  >何が入力されてもエラーメッセージが出てきて、  >書き換えられないようにできます。 とありますが、他の方法はありませんか? よろしくお願いします。

noname#81542
noname#81542

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

  • ベストアンサー
回答No.2

No.1です。 >再び全シート保護のマクロを実行すると >正常に作動するのですが。 もしかしてマクロを手動で実行していませんか? ↑が YES なら、 そうではなくて、ブックの OPEN イベントに記述してください。 次のようにしてください。 ------------------------- ALT + F11キーで VBE を起動   ↓ 画面左上のプロジェクトエクスプローラーにある ThisWorkbook をダブルクリック   ↓ 右に表示されたコードウィンドウの上にある オブジェクトボックス(General となっているところ)から Workbook を選択   ↓ 表示された Workbook_Open のプロシージャの中にコードを記述してください。 (シート保護のマクロも含めて) ---------------------------- Private Sub Workbook_Open() <ここにコードを記述> End Sub ---------------------------- ※全シート保護でいいのなら No.1のコードをそのままコピーして貼り付けてください。 ◆こうしておけば、ファイルを開くときにこのマクロが自動的に実行されます。 ◆手動で実行する必要はありません。 ---- ついでに前回言い忘れましたが、 全シートに設定する必要がなければ(たとえば Sheet1 だけでいいのなら) ↓のようなコードになります。 --------------------------- Private Sub Workbook_Open()  With Worksheets("Sheet1")  .EnableOutlining = True  .Protect UserInterfaceOnly:=True  End With End Sub ---------------------------- ◆いずれにしても ThisWorkbook の OPEN イベントに記述してください。

noname#81542
質問者

お礼

回答ありがとうございます。 AloneAgainさんのおっしゃるとおり、 マクロを手動で実行していました。 わかりやすいフローチャートを元に再設定したところ、 エクセル再起動後も問題なくアウトラインが作動しました。 また、単独シートのみの設定方法についてもご教授頂き ありがとうございました。 これを機に私もマクロについてもっと勉強しようと思います。

その他の回答 (1)

回答No.1

こんばんは。 EnableOutlining プロパティを TRUE にすればできると思います。 たとえば、すべてのシートに設定するなら、 ↓でどうでしょうか? ------------------------ Private Sub Workbook_Open() Dim sh As Worksheet For Each sh In Worksheets sh.EnableOutlining = True sh.Protect UserInterfaceOnly:=True Next sh End Sub -------------------------

noname#81542
質問者

お礼

ありがとうございます。 試してみたところ、全シート保護した後も アウトラインが正常に作動しました。 しかし、全シート保護をかけたままファイルを保存、 一旦エクセルを終了、そこで同ファイルを立ち上げなおすと 再びアウトラインが正常に作動せず保護解除を促すエラーメッセージが出てきました。 そこで再び全シート保護のマクロを実行すると 正常に作動するのですが。

関連するQ&A

  • エクセルでシート保護をかけるとアウトラインが動作しない

    関数が入っている箇所のセルにロックを設定し、シート保護をかけると、先に設定していたアウトラインの-をクリックしても動作しない 動作させる方法はあるのでしょうか 保護を解除すると、誤って関数が入っている箇所が削除される可能性があるし????

  • シートの保護でデータ追加が出来ない Excel

    表の項目で関数を入れているなど、データ入力以外さわらせたくない項目があるため、 シートの保護を設定するとデータの追加(新しいレコードの追加)が出来なくなりました。 (表をリストに変換しています。またセルの設定で「ロック」は外しています) またマクロも実行時にエラーになります。 「シートの保護」の「~許可する操作」の設定をいろい変えてみたのですがうまくいきません。 リストへレコード追加やマクロ実行時が出来て、ユーザーには関係のない項目を触らせなくする方法は無いでしょうか。 エクセル2003です。

  • Excelでsheetに保護をかけたらマクロは動きませんか?

    マクロ初心者です。 Excelでsheetに保護をかけてしまうとマクロは動か なくなるものなのでしょうか?ちなみに、マクロで コピー等の処理を行うセルのロックは解除しておいた のですが…。 sheetを2つ作って、一方の保護付きsheetに情報を 入力をしておき、もう一方の保護無しsheetに同じ 情報をコピーした上でマクロ処理させる、という 方法は考えたのですが、もっとスマートな方法を ご存知でしたら教えて下さい。よろしくお願い致し ます。

  • エクセルのシート保護をマクロのボタンで

    ご教示下さい。 エクセルでのシート保護の設定をボタン一つで出来るようにと思い、マクロの自動記録で作成してみましたが、設定したはずのパスワードが記録されていません。 シート保護の解除にパスワードの入力が必要なようにする、シート保護のマクロは出来るでしょうか?。 どなたか、よろしくお願いいたします。

  • ExcelでVBAにおけるシートの保護に関して・・・

    ユーザーフォームで入力した値がシートのセルに入力 されるというものを作っています。 そこで、シートの列挿入及び列削除を禁止しておきたい のですが、そのままシートを保護してしまうとユーザー フォームが開かなくなるので、VBAにてユーザーフォーム が開く前に保護を解除し、閉じるときに再び保護をかける ようにしました。 ただ、この方法だと、シート保護の項目全て(初期設定) に対して保護されてしまうため、例えば行挿入や行削除、 あるいはオートフィルタや並べ替えといったことまでが 出来なくなってしまいます。(手動で保護を解除すれば できるのですが、一々解除しなければならないのは面倒 なので何とか避けたいのです。) 禁止したいのは、列削除及び列挿入のみなのですが、 他によい方法はないでしょうか。

  • エクセル2007の、シートの保護について

    エクセル2007の、シートの保護について シートの保護の際、「このシートのすべてのユーザーに許可する操作」にて ・ロックされていないセルの選択 ・セルの書式設定 にチェックを入れたのですが、ブックを保存して閉じて、再度開くと ・セルの書式設定 のみチェックの入っていない状態で開かれます。 シートは保護された状態なため、いちいち保護を解除してチェックを入れ直し、 再度保護するのが面倒なのですが、ブックを閉じても 「このシートのすべてのユーザーに許可する操作」の設定が変わらない方法はあるのでしょうか? どうぞ、よろしくおねがいいたします。

  • シートを保護しても入力規則を使えるようにしたい

    エクセル初心者でエクセル2002を使っています。シートを保護した状態でも入力規則のドロップダウンリストに値を追加するなどの操作をしたいのですが、入力規則が使えなくなります。(「データ」→入力規則が選択できない) 「ツール」→「保護」→「シート」の保護を選択し、「このシートのすべてのユーザーに許可する操作」のすべての項目にチェックを付けても入力規則を操作することができませんでした。 シートを保護した状態で入力規則を使うことはできないのでしょうか?恐れ入りますが回答よろしくお願いします。

  • フィルタオプションとシートの保護

    Excel2003を使用して、あるシートに以下の設定を行なっています。 (1) 「入力規則」のドロップダウンリストからデータを選択入力する設定 (2) (1)で選択入力されたデータを抽出条件にしたフィルタオプションを設定(抽出先は指定した範囲) (3) 「マクロの記録」で(2)の作業を記録し、作成したマクロにボタンを作りボタンを押すと抽出を実行するよう設定 ※シート1に元データがあり、シート2が問題のシートになります。 このシートを保護し、他者に変更されないようにしたいのですが、保護をしていると抽出ができなくなってしまいます。 オートフィルタなら有効にする設定があるようですが、フィルタオプションは有効に出来ないのでしょうか? 他のシートを抽出先にせず、これらを実行したいのですが…。 何か良い方法があればご伝授願います。 尚、今回マクロを設定してはおりますが、実際に自分で記述して書くほどの知識はありません。 もしもマクロを使用しなければならない場合はお手数ですが、その詳細も教えて頂ければ幸いです。 宜しくお願い致します。

  • エクセル終了時に、シートに保護をかけたい

    エクセル2007にシートが3枚あります。[入力1][入力2][入力3] これを、どのシートで終了しても、全てのシートに保護(ユーザーに許可する操作は全てチェックをはずす)が掛かるようにしたいのですがうまくできません。 (どうしても終了時に開いていたシートしかマクロが実行されません) ご教示いただけないでしょうか。よろしくお願いします。

  • Excel シートの保護をしつつ、図を挿入する

    Excelで表を作成しました 操作する人がほとんどPCの知識がない為シートの保護をかけ マクロを保護しています この状況で図の挿入をユーザーにさせたいのですが シートの保護をしている為できないようです どなたか解決策をご存知でしたらご教授願います

専門家に質問してみよう