• ベストアンサー

シートの保護

お世話になります。 エクセルシートに保護をかけたいのですが、 シート内に、マクロの実行ボタンを作成しており、 そのボタンだけは実行できる様にしたいのですが、 やり方が分かりません。教えて頂きたく宜しく お願い致します。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

操作のシートのツールー保護ーシートの保護の中に 「オブジェクトの編集」がある。 これをオンにして保護をかけると ボタンのクリックが、通常の場合と同じく効くようだ。 テストとして、保護をかける前に Sheet1のクリックイベントに下記を入れておく。 Private Sub CommandButton1_Click() MsgBox "CMD Buttannクリック" End Sub ーー Sub Macro1() ActiveSheet.Unprotect ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _ True End Sub を実行して、シートを保護する。 ーー Sheet1のボタンをクリックすると "CMD Buttannクリック" と表示して、実行されたことがわかる。 ーーー マクロの記録でもうまく行くはずだが、 MsgBox "CMD Buttannクリック"の行を test02 として、 Test02を sub test02() (マクロ名) End Sub のようにすればうまく行くはず。

miruchoko
質問者

お礼

ありがとうございます。 大変参考になりました。

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

Excelにはマクロの記録という便利な機能があります 手動で行った操作をマクロ(VBAコード)にする機能です ツール > シートの保護 > OK ツール > マクロ > 新しいマクロの記録 マクロ名を決定 > OK ツール > シートの保護の解除 シートの左上の『A』『1』の交差する四角をクリックしてセル全体を選択 書式 > セル > 保護タブ > ロックのチェックをはずす > OK シート内でロックしたい箇所のセルを選択 書式 > セル > 保護タブ > ロックのチェックを設定 保護したい部分の設定を終えたら ツール > 保護 > シートの保護 > 『このシートのすべてのユーザーに許可する操作』の必要な項目をチェック > OK ツール > マクロ > 記録終了 といった手順です

関連するQ&A

  • シートの保護、グラフ作成

    お世話になります。 Excelでアンケートの集計をしています。 別のシートに集計データを参照しました。そこにマクロの記録で、グラフを作成するマクロを作成しました。また、このマクロを登録したボタンを配置しています。 このシートに、「シートの保護」を設定しました。 その後、マクロボタンをクリックすると別添のメッセージが表示され、グラフは作成できません。 確かに、「挿入」タブのリボンは、グレーアウトしています。 「シートの保護」を設定した後も、ボタンからグラフを作成する方法はないでしょうか。 よろしくお願いします。 エラーメッセージ 「実行時エラー”1004”」 「指定された値は境界を超えています。」 OS: Windows 7 professional SP-1 32Bit Office: 2010 Professional 32Bit

  • シートの保護

    いつも助かっています。 エクセル2003です。「ツール」-「マクロ」でデーターの移動をさせています。 今度、必要な元表のセルだけロックをはずし、シートに保護をかけました。 そして、いままでようにマクロをかけましたが、うまくいきません。ラジオボタンも保護から はずすには? 保護されたシート内でマクロをする手順は? よろしくお願いします。

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

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

  • シートの保護をしたり、しなかったりはマクロで可能?

    VBAでマクロを使って一部セルの変更をしているのですが このマクロを実行しない(ボタンを押さない)場合は、シートのセルが 変更できないようにシートの保護をかけています。 この状態で、マクロを実行すると 実行時エラー '1004' FontクラスのNameプロパティを設定できません。 と表示されます。 マクロ時は書き換えできて、マクロが実行していない場合、シートの書き換えができないようにしたいのですが、どのようにすればよいのでしょうか?

  • エクセルのシートの保護<保護できる所とできない所>

    エクセルシートに簡単な計算式と、 ボタンが入っています。 修正不可させたいので、エクセルのシートの保護をかけたいのですが、 ボタンのみ動けるようにしたいです。 単純にシートの保護をかけると、エラー(実行時エラー1004)がでます。 また、ボタンのロックを外して保護をかけても同じエラーがでます。 ボタンのみ保護をかけない方法はないでしょうか? ご回答をお願いします。 環境:WinXP

  • エクセル シート保護された共有ファイルのマクロ実行

    こんちには エクセル関連の過去の質問を見ると、単に保護されたシートではマクロを実行する方法かあるようですが、保護された共有ファイルでマクロを実行するにはどうしたらよいでしょうか?(保護された共有ファイルでも実行可能なマクロもあります) 今はその方法が分からないので、共有ファイルを保護なしでマクロを実行しています。1つのファイルに複数のマクロがありボタンで操作できるようにしていますが、時々セルの中の関数を消してしまう人がいるので、保護したいと考えています。

  • エクセルVBAの実行保護について教えてください。

    エクセル2000VBAで構文を複数作り、シート上にボタンを配置し実行させたいと思います。 (パスワードで保護させて、VBAの構文は管理者以外に見えないようにしました) その複数のマクロの中には、実行させたくないものもあります。(管理者のみが行うマクロ) シート上のボタンで配置したもののみ実行可能にして、「ツール」-「マクロ」から誰でも実行させないような方法を教えてください。 つたない説明で申し訳ありませんが、ご理解いただけたでしょうか? よろしくお願い致します。

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

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

  • エクセル2000 での保護をVBAで・・・

    こんばんわ。エクセル Office2000の保護について教えてください。 シートを非アクティブにしました。 ですが、オートフィルタだけは使えるようにしたいと思っています。 いろいろ試してみたのですが、うまく出来ませんでした・・・ いつもは、ボタンでマクロの実行をしているのですが アクション(たとえば、オートフィルタボタン)でマクロの実行をさせたり、ということが出来れば、スマートなコードが書けると思うのです。 どうか、「アクションで実行」というマクロをご教授いただけないでしょうか?? どうか、よろしくお願いいたします。

  • マクロ処理してあるシートの保護設定は出来ますか?

    こんにちは。エクセルで見積表を作りました。ここで沢山の方に教えて頂きながらマクロで印刷ボタンを作ったりして大変分かり易いものが出来ました。ただ、単価をいじられない為にシートの保護をかけたところ、印刷ボタンが使えなくなってしまいました。マクロ処理してある場合、シートの保護は出来ないものでしょうか?何かいい方法がありましたら教えてください。宜しくお願いします。

専門家に質問してみよう