• ベストアンサー

シートの保護

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

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答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