• ベストアンサー

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

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

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

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

ボタンを押したときに再計算されるのですか? 保護された部分の変更は出来ません。 初期状態をシート保護、ボタンロック解除の状態にしておきます。 ボタンを押されたときに  シート保護を解除→再計算→シート保護の設定 こうすればOKだと思います。

その他の回答 (2)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.3

VBAでも保護された部分に書き込む事はできません。 VBAの中で、記入時等に保護の解除と保護を行うか、 下記のお呪いを、Workbook_Open 等に記入しておくと良いです。 シート名.Protect UserInterfaceOnly:=True

参考URL:
http://www.officetanaka.net/excel/vba/sheet/sheet07.htm
回答No.2

ちょっと質問の意味がわかりかねますが、ボタンの配置を移動出来るように、という意味でしょうか? それとも、ボタンをクリックした時に計算された結果が出ないと言うことでしょうか? 前者の場合はボタンのプロパティで、ロックのチェックを外すとできると思います。 後者の場合(多分こちらでしょうが)、ボタンをクリックすることによって、書き換えられるセルの保護も外しておかなければなりません。 例えば、ボタンをクリックすると A1セルのデータを書き換えるというコードになっていると、A1セルの保護を外して(ロックのチェックを外す)おかないと、A1セルに書き込むことが出来ません。 エラー1004はそういう意味だと思うのですが・・。 外してたらごめんなさい。

関連するQ&A

  • Excel シートの保護

    Excelでシートの保護をしようとしたのですが、出来ません。Excel2013を使用しています。 順番は、セルをアクティブ→[shiftキー]+[Ctrlキー]+([↓キー]を押してます) →[書式ボタン]をクリックして、[セルのロック]→[書式ボタン]をクリックして、[シートの保護]→シートの保護のダイアログボックスが出てきて、OKボタンの手順でやってます。 これで、ロックを外したセルはTubキーが反応すると思うのですが、全く反応しません。 あと、セルのロックを外したセルに何か書き込もうとすると、エラーが出てきます。 何が駄目なのか教えてください!

  • シートの保護

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

  • 【エクセル】シートを保護するとスピンボタンが使えなくなる。

    いつもお世話になってます。 エクセル2003で別の人が作ったファイルがあります。 シート上にスピンボタンがあります。 シートを保護してもスピンボタンは動作します。 そのスピンボタン自体にはマクロは設定されていません。 同じようなファイルを作ったのですが、私が作った物はシートを保護するとスピンボタンが動かなくなります。 ちなみに、前任者が作ったファイルのスピンボタンのコントロールの書式設定の「保護」タブのロックにはチェックが入ってます。 私のもそうしてみました。 前任者のファイル(シート)を保護する時、ツール→保護→シートの保護では、一番上の「シートとロックされたセルの内容を保護する」と「ロックされたセル範囲の選択」と「ロックされていないセル範囲の選択」だけにチェックが入ってます。 私のもそうしてみました。 その設定でシートを保護したところ、やはり私のファイルだけはスピンボタンが使えません。 他に何か理由は考えられるでしょうか? よろしくお願いします。

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

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

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

    エクセルの「シートの保護」について教えてください。 特定のシートのみ、保護したいと思っています。 そのシートの一定の範囲には、入力のみを許可したいです。 というのも、他の範囲(保護したい範囲)には、数式やvbaが設定されており、むやみやたらに「切り取り」や「行や列の削除」をされると困るからです。 そこで、 入力を許可する範囲を選択 →セルの書式設定 →保護のロックを外す →シートの保護 →「ロックされていないセル範囲を選択」を選択 しました。 この状態でマクロを実行すると、エラー1004(保護されたシートに対してこのコマンドは使用できません)とエラーが出ました。 エラー箇所は以下のとおりです。 Intersect(Worksheets("sheet1").Range("C5").CurrentRegion, Worksheets("sheet1").Rows("5:65536"), Worksheets("sheet1").Columns("C:T")).Select (質問1) ロックを外し、その後にシートの保護をする際、「全範囲を選択してから」シートの保護を行うものなのでしょうか。 それともシートの保護をすれば、自動的に、ロックを解除した範囲以外(全範囲)で保護したことになるのでしょうか。 「全範囲を選択してから」シートの保護をすると、ロックを外したセルを選択しても、アクティブセルが罫線で囲われずどこを選んでいるのか分からなくなってしまったので。 もし、あえて全範囲を選択する必要がないなら、それでいこうと思っています。 (質問2) 上記エラーを解消するには、どうしたら良いのでしょうか。 全範囲を選択できないように保護していることが原因かと思い、全範囲について「シートの保護→ロックされたセル範囲の選択」を選んでもエラー解除できませんでした。 また、Intersect.Selectの一行上に「ThisWorkbook.Unprotect」と追加しても解除できませんでした。 2つも質問して申し訳ありませんが、ご存知の方はご教授お願いします。 よろしくお願いします。

  • Excelのシート保護?

    他の人が作ったとあるエクセルファイルで、シート保護がかかっている わけではないのに、マクロが登録してあるボタンや、チェックボックス、 コマンドリスト等の類を移動させることが出来ません。 ただの四角いオブジェクト等は移動・修正させることは可能です。 ボタンなどのレイアウトを変えたいのですが、シートの保護以外で、 チェックすべき項目はありますか?

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

    win2000、エクセル2000を使用しています。 新しいマクロの記録でフィルタオプションの設定とフィルタの全て表示の設定をしました。フィルタオプションの設定は以下の通りです。   リスト範囲→A10~P500   検索条件範囲→A1~P2 そしてボタンをそれぞれ作成してマクロの登録をしました。 この状態では、なんの問題もなく動くのですが、検索条件範囲だけロックのチェックをはずしてシートの保護をかけると、検索は出来るんですが、解除の時にエラーがでます。   実行時エラー'1004':   WorksheetクラスのShowAllDataメソッドが失敗しました。 というエラーです。 エラーが出ず、マクロが動くにはどうしたらよいのでしょうか? おわかりになる方がいましたら、よろしくお願いいたします。

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

    エクセル2000を使っています。 シートの保護をした場合行や列の挿入を可能にする方法がないでしょうか? 部分的にロックしている為保護は欠かせなくなっています。 よろしくお願い致します。

  • エクセルシートの保護

    エクセルのシートに保護をかけたいのですが、 シートの中に、チェックボックスがあります。 チェックボックスの「コントロールの書式設定」で 「ロック」のチェックをはずしても、 シートの保護をかけると、チェックボックスにも保護がかかってしまいます。 シートの保護をかける時、 「データー」のチェックをはずすと、 チェックボックスにもチェックが入れられるようになるのですが、 それでは、他のセルにも入力が可能になってしまいます。 つまり、シート全体に保護をかけたいし、 当然、チェックボックスの機能も使いたいのですが、 セルの書式設定にある保護と フォーム・コントロールの書式設定にある「ロック」「文字列のロック」を、 どのように組み合わせればよいのでしょうか? そもそも、シート全体に保護をかけたいし、 チェックボックスの機能も使いたいのは、 可能なのでしょうか?

  • excelシートに保護のついて

    EXCELシートに保護をかけてから、WEB上の文字をセルにコピーするとそのセルはロックがかかってしまい、消せなくなります。 保護はしたままで、ロックがかからなくなるようにできるのでしょうか。 あまりこのようなことをやる方はいないかも知れませんが、 宜しくお願いします。

専門家に質問してみよう