Excelでマクロを作成して実行する際、シート上にボタンを設置してワンクリックでマクロを呼び出す使い方は非常に便利です。
しかし、あとから
「このボタンにどのマクロが紐づいているのか確認したい」
「登録内容を変更したい」
と思ったとき、やや操作がわかりにくいのが実情です。
この記事ではExcelのボタンに登録されたマクロの確認・編集・トラブル対策まで徹底解説します。
Contents
Excelのボタンには大きく2種類ある
ボタンの種類 | 正式名称 | 設置方法 |
---|---|---|
フォームコントロールのボタン | フォームボタン | 挿入 → フォームコントロール |
ActiveXコントロールのボタン | コマンドボタン | 挿入 → ActiveXコントロール |
フォームコントロールボタンに紐づいたマクロを確認する方法

方法①:右クリックから直接確認
- 対象のフォームボタン上で右クリック
- 「マクロの登録」または「マクロの登録変更」を選択
- 現在紐づいているマクロ名が確認可能
ここからマクロの変更・新規登録も可能です。
方法②:VBAコードを直接確認
- Alt + F11 でVBE(Visual Basic Editor)を開く
- 該当マクロ名の内容を確認・編集
ActiveXコマンドボタンのマクロ確認方法
コード画面から確認
- Alt + F11 でVBEを開く
- 対象のワークシートオブジェクト内の
CommandButton_Click
イベントを探す - ここにマクロ処理が記述されています
Private Sub CommandButton1_Click()
' ここに処理内容が記述されている
End Sub
ActiveXはVBAに直結しているため、シートのVBA内で確認が基本です。
どのボタンにマクロが紐づいているか全体確認したい時のVBA例

大量のボタンがある時はVBAで一括確認も便利です。
フォームコントロールの紐づけ確認
Sub CheckAllButtonMacros()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
If shp.Type = msoFormControl Then
If shp.FormControlType = xlButtonControl Then
Debug.Print shp.Name & " → " & shp.OnAction
End If
End If
Next shp
End Sub
実行結果はイミディエイトウィンドウに出力されます。
新規でボタンにマクロを紐づける手順(フォームボタンの場合)
- 「挿入」→「フォームコントロール」→「ボタン」を配置
- 配置時に自動で「マクロの登録」画面が出る
- 登録済みマクロから選択 or 新規作成
ボタンのデザイン編集(色・大きさ・配置)
- 右クリック →「書式設定」から背景色・文字色・フォント変更可能
- ドラッグで大きさ変更
- Shift押しながらで複数ボタン選択&整列も簡単
トラブル例と対処法
問題 | 原因 | 解決策 |
---|---|---|
マクロの登録変更ができない | シート保護中 | シート保護を解除 |
ボタンの右クリックができない | デザインモード未使用 | ActiveXの場合はデザインモードに切替 |
ボタンを押しても動作しない | マクロ無効 or マクロ名変更 | マクロ有効化と紐づけ確認 |
よくある質問(FAQ)

Q1. フォームボタンとActiveXボタンのどちらがおすすめですか?
→ 基本的にはフォームコントロールが安定・簡単・他ブック移動も安全です。
ActiveXは高度な制御が必要な時に向いています。
Q2. マクロボタンが消えてしまいました。復元できますか?
→ 削除直後なら「元に戻す(Ctrl+Z)」で復旧可能。
ファイルを閉じた後は再配置が必要です。
Q3. マクロ登録済みボタン一覧を出力する方法は?
→ 上記VBAコードを使えば、全フォームボタンの登録マクロ一覧が取得できます。
Q4. ボタン名を変更できますか?
→ 右クリック →「テキストの編集」で名前変更可能です。
まとめ
- 右クリック →「マクロの登録」でフォームボタンの紐づけ確認
- ActiveXはVBAコード内のClickイベントで確認
- VBAを使えば全ボタンのマクロ登録状態も一括確認可能
- シート保護やデザインモードの状態に注意
マクロを正しくボタンに紐づけて管理できれば、日々の作業がワンクリックで効率化します。
ぜひこの記事を参考に、ボタン活用スキルを磨いてください!