Excel

【Excel】エクセルでボタンを作成する方法|マクロを実行するボタンをシートに配置する手順

フォームコントロールによるマクロ実行ボタンの配置 - 開発タブの表示
当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

Excelで繰り返す処理をマクロにしても、VBEを開いたり、リボンからマクロ一覧を探したりする操作が必要では使いにくく感じることがあります。

ワークシート上にボタンを配置しておけば、利用者はボタンをクリックするだけで登録済みのVBAマクロを実行できます。

集計表の更新、印刷範囲の設定、入力内容の確認、PDF保存などを誰でも同じ手順で実行できる状態に整えられる点が、マクロ実行ボタンの大きなメリットです。

Excelでマクロ実行ボタンを作る基本手順は、開発タブを表示し、フォームコントロールのボタンを配置して、実行するマクロを割り当てる流れです。

この記事では、フォームコントロールと図形を使ったボタンの作成方法、VBAの準備、ボタンを安全に運用するポイントまで解説します。

 

フォームコントロールによるマクロ実行ボタンの配置

それではまず、フォームコントロールを使ってシートにマクロ実行ボタンを配置する手順について解説していきます。

A B C
1 処理名 操作
2 月次集計 集計を実行

フォームコントロールのボタンは、Excelに標準で用意されている機能です。

ActiveXコントロールよりも設定がわかりやすく、配布用のブックでも扱いやすいため、初めてボタンを作る場合に向いています。

 

開発タブの表示

ボタンを挿入するには、通常は非表示になっている開発タブをリボンに表示します。

リボン上の任意の場所を右クリックし、リボンのユーザー設定を選択します。

右側の一覧にある開発へチェックを入れ、OKを選択してください。

フォームコントロールによるマクロ実行ボタンの配置 - 開発タブの表示

画面上部のタブに開発が追加されれば準備完了です。

開発タブはVBAの記録、Visual Basic Editorの起動、コントロールの配置にも使うため、マクロを扱うなら表示しておくと便利でしょう。

【操作のポイント】開発タブはブックごとの設定ではなく、Excelアプリ全体のリボン表示設定です。一度追加すれば次回以降も表示されます。

 

ボタンコントロールの挿入

開発タブを開いたら、コントロールグループにある挿入をクリックします。

フォームコントロール欄の左上にあるボタンを選択してください。

選択後にワークシート上でドラッグすると、指定した大きさのボタンが配置されます。

フォームコントロールによるマクロ実行ボタンの配置 - ボタンコントロールの挿入

ドラッグを終えると、すぐにマクロの登録画面が開きます。

この画面が表示されるのは、ボタンそのものには処理が入っておらず、実行先となるマクロを関連付ける必要があるためです。

配置後のボタンは、周囲にハンドルが出ている状態で大きさや位置を調整できます。

【操作のポイント】表のセル幅に合わせてボタンを置くと、シートのレイアウトが崩れにくくなります。Altキーを押しながら移動するとセル境界に合わせやすくなります。

 

マクロの割り当てと動作確認

マクロの登録画面では、標準モジュールなどに作成済みのマクロ名を選択してOKを押します。

まだマクロがない場合は、新規作成を選び、VBA編集画面で処理を記述します。

ボタンを右クリックしてマクロの登録を選べば、後から実行するマクロを変更することも可能です。

ボタンの文字は右クリック後にテキストの編集を選択し、たとえば集計を実行、印刷設定、入力内容を確認などの目的がわかる表現へ変更しましょう。

利用者がクリック後の結果を想像できる文言にすると、誤操作の防止につながります。

ボタンを作成したら、設計モードではなく通常の状態で実際にクリックし、想定したマクロだけが実行されるか確認してください。

【操作のポイント】ボタンを選択した状態ではクリックしてもマクロは実行されません。シート上の空白セルを選択してからクリックすると、通常の実行状態を確認できます。

 

図形を使った見やすい操作ボタンの作成

続いては、図形にマクロを登録して見た目を整えた操作ボタンを作る方法を確認していきます。

A B C
1 月次売上集計 更新日
2 データを更新 2026年10月

フォームコントロールは実用的ですが、色や形の調整には制限があります。

操作案内を含めた業務用シートでは、挿入タブの図形をボタン代わりに使う方法が便利です。

 

角丸四角形の挿入

挿入タブから図形を選択し、四角形の中にある角丸四角形をクリックします。

シート上でドラッグすると、自由なサイズの図形を作成できます。

図形を選択した状態で文字を入力すると、図形の中央にボタン名を表示できます。

集計を開始、データを更新、PDFを作成など、操作内容を短く書くとわかりやすくなります。

図形を使った見やすい操作ボタンの作成 - 角丸四角形の挿入

図形の塗りつぶしは、図形の書式タブから設定できます。

Excelらしい緑系の色、注意が必要な処理には橙系の色など、目的別に色を使い分ける方法も有効です。

【操作のポイント】文字色と背景色のコントラストを確保すると、印刷時や画面の明るさが異なる環境でもボタン名を読み取りやすくなります。

 

図形へのマクロ登録

図形を右クリックし、表示されたメニューからマクロの登録を選択します。

一覧から実行したいプロシージャを選び、OKをクリックすれば登録完了です。

図形を通常クリックすると、割り当てたマクロが起動します。

図形を使った見やすい操作ボタンの作成 - 図形へのマクロ登録

マクロの登録が見つからない場合は、マクロがPrivate Subとして作られていないかを確認してください。

図形から実行する処理は、標準モジュール内にPublic Subとして作成しておくと、一覧に表示されやすくなります。

図形の右クリックメニューでマクロの登録が表示されないときは、図形ではなく画像やグループ化されたオブジェクトを選択している可能性もあります。

【操作のポイント】図形をコピーして複数のボタンを作る場合、コピー後にそれぞれへ別のマクロを登録し直してください。同じマクロが複製されていることがあります。

 

ボタン配置と誤操作防止

入力セルの近くに更新ボタンを置くと、作業の流れに沿って操作しやすくなります。

一方で削除や初期化を行うマクロは、日常的な更新ボタンと離した位置に置くことが重要です。

元に戻せない処理を実行するボタンは、赤色などの目立つ配色だけに頼らず、確認メッセージも組み合わせると安全性が高まります。

ボタンのサイズは、マウス操作しやすい高さと幅を確保しましょう。

小さすぎる図形はクリックしにくく、タッチ対応PCでは特に誤操作が起こりやすくなります。

【操作のポイント】シート保護を設定する場合は、ボタンの選択可否とマクロの実行可否を事前にテストしてください。保護後に図形の編集ができなくなる場合があります。

 

VBAマクロの作成とボタンへの関連付け

続いては、ボタンから呼び出すVBAマクロの作成と、標準モジュールへの登録を確認していきます。

A B C
1 商品名 売上金額
2 商品A 12000
3 商品B 8500

ボタンを押したときに実行される処理は、VBAのSubプロシージャとして記述します。

最初はメッセージ表示などの簡単なコードで動作を確認し、問題がなければ実務用の処理へ発展させると安心です。

 

標準モジュールへのコード入力

開発タブのVisual Basicをクリックするか、AltキーとF11キーを押してVBEを開きます。

上部メニューの挿入から標準モジュールを選択すると、Module1などのコード入力領域が追加されます。

Sub 集計ボタンを実行()
    Worksheets("集計").Range("E2").Value = _
        Application.WorksheetFunction.Sum(Worksheets("集計").Range("C2:C100"))
    MsgBox "集計を更新しました。"
End Sub

この例では、集計シートのC列に入力された2行目から100行目までの値を合計し、E2セルへ結果を出力します。

1行目はヘッダーとし、合計の対象から除外しています。

数式で同じ結果を出すなら、E2セルにはSUM関数を使って次のように入力できます。
=SUM(C2:C100)

VBAではApplication.WorksheetFunction.Sumを使うことで、SUM関数と同様の計算をマクロ内で実行できます。

マクロ名には処理内容が推測できる名前を付けると、ボタン登録画面で選択ミスを減らせます。

【操作のポイント】ボタンから呼び出すマクロは、標準モジュールへ配置するのが基本です。シートモジュール内のイベント処理とは役割を分けましょう。

 

マクロ登録画面の選択

コードを保存した後、ワークシートへ戻ってボタンまたは図形を右クリックします。

マクロの登録を選択すると、作成した集計ボタンを実行というマクロ名が一覧に表示されます。

対象を選んでOKを押せば、オブジェクトとマクロが関連付けられます。

売上集計.xlsm – Excel − □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示 開発
Visual Basic
マクロ
挿入 ▼
デザイン モード
fx=SUM(C2:C100)
A B C D E
1 商品名 売上金額 合計
2 商品A 12000 20500
3 商品B 8500
集計を実行
➤
クリックしてマクロを実行

赤枠のボタンをクリックすると、C2からC100の合計を計算するマクロが実行されるイメージです。

セルに数式を入力して計算する方法と、マクロで値を更新する方法は用途が異なります。

常に再計算したい集計は数式、ボタンを押したタイミングだけ処理したい作業はVBAというように使い分けるとよいでしょう。

【操作のポイント】マクロ一覧に目的の名前が出ない場合は、VBEでコンパイルエラーがないか、SubとEnd Subの記述が対応しているかを確認してください。

 

マクロ有効ブックでの保存

VBAコードを含むブックは、通常のxlsx形式では保存できません。

名前を付けて保存を選び、ファイルの種類をExcelマクロ有効ブックに変更して、拡張子xlsmで保存します。

xlsx形式で保存するとVBAコードとマクロ登録情報が失われるため、保存時の形式には注意が必要です。

配布前には、保存後にファイルを閉じて再度開き、ボタンとマクロが残っているかを確認してください。

【操作のポイント】元データを保護したい場合は、マクロ付きブックを複製してから開発作業を始めると、誤った保存形式を選んだ場合にも復旧しやすくなります。

 

マクロ実行ボタンのデザインと配置ルール

続いては、操作しやすいマクロ実行ボタンにするためのデザインと配置ルールを確認していきます。

A B C
1 操作メニュー 説明
2 データを更新 入力内容から集計を更新

ボタンが正しく動いても、どのボタンを押せばよいか伝わらなければ業務効率は上がりません。

シートの目的と操作順を意識した配置が重要です。

 

操作順に沿ったボタン配置

入力、確認、更新、出力という流れで作業するシートでは、その順番にボタンを並べます。

最初に入力内容を確認、次に集計を更新、最後に印刷またはPDF出力という配置にすると、初めて使う人でも判断しやすくなります。

画面の上部や表の右側など、視線が自然に向かう位置に主要な実行ボタンを置くのが基本です。

【操作のポイント】ボタンの並び順と、ボタンが実行する処理の順番を一致させてください。操作順が逆になると、説明書を読まない利用者が迷いやすくなります。

 

色と文言による役割分担

更新系のボタンは緑または青、印刷や出力は灰色、削除やリセットは赤や橙というように役割を分けると視認性が上がります。

ただし、色だけで意味を伝えるのではなく、文字も必ず併記してください。

更新のように結果が曖昧な表現より、売上集計を更新、入力欄を初期化のように対象を含めた表現が適しています。

短い動詞と処理対象を組み合わせたボタン名は、画面上でも理解されやすい形式です。

【操作のポイント】ボタン名の末尾に実行や開始を付けると、セル見出しや説明文と区別しやすくなります。

 

オブジェクトの固定とシート保護

表の行を追加したときにボタンの位置がずれる場合は、図形のサイズとプロパティを確認します。

図形を右クリックしてサイズとプロパティを開き、プロパティからセルに合わせて移動やサイズ変更をする、または移動やサイズ変更をしないを用途に応じて選択します。

入力行が増える表の上にボタンを置くなら、セルに合わせて移動しない設定が扱いやすいことがあります。

完成後はシート保護を設定し、ボタンが意図せず移動や削除されない状態に整えましょう。

シート保護後もマクロでセルを書き換える必要がある場合は、保護設定とVBA処理の組み合わせを事前にテストすることが大切です。

【操作のポイント】保護用パスワードを設定する場合は、組織の管理ルールに従って保管してください。忘れるとレイアウトの修正が難しくなります。

 

マクロボタンが動かない場合の確認項目

続いては、ボタンをクリックしてもマクロが実行されない場合の確認項目を確認していきます。

A B C
1 確認箇所 主な内容
2 ファイル形式 xlsmで保存されているか

マクロが動かない原因は、ボタンの設定ではなく、ファイル形式やセキュリティ設定にあることも少なくありません。

慌ててボタンを作り直す前に、基本項目を順に確認しましょう。

 

コンテンツの有効化

マクロ付きブックを開いた際、画面上部にセキュリティ警告が表示されることがあります。

信頼できる作成者から受け取ったファイルであることを確認したうえで、コンテンツの有効化を選択してください。

出所が不明なファイルのマクロを有効化することは危険です。

メール添付やインターネットから取得したファイルでは、Windowsによるブロックが原因になる場合もあります。

【操作のポイント】セキュリティ警告を非表示にするためだけに、すべてのマクロを有効にする設定へ変更することは避けましょう。

 

ボタンとマクロ名の対応

ボタンを右クリックしてマクロの登録を開き、現在選ばれているマクロ名を確認します。

コードを修正する途中でプロシージャ名を変更した場合、ボタン側には古い名前が登録されていることがあります。

また、図形をコピーして別用途のボタンを作った際に、同じマクロが割り当てられたままというケースもあります。

ボタン名、割り当て先のマクロ名、実際の処理内容の三つが一致しているかを確認してください。

【操作のポイント】マクロ名を変更する必要がある場合は、変更後に各ボタンの登録を見直す作業までを一組として行いましょう。

 

デザインモードとVBAエラー

ActiveXコントロールを使っている場合、開発タブのデザインモードがオンではクリックしても通常の実行になりません。

フォームコントロールや図形では原則として不要ですが、複数種類のコントロールを混在させていると見落としやすい項目です。

実行時エラーが出る場合は、VBEで黄色く表示される行を確認し、シート名やセル範囲が実際のブックと一致しているかを見直します。

エラー確認では、最初にボタンの登録、次にマクロ単体の実行、最後に対象シートとデータ範囲の順で切り分けると原因を探しやすくなります。

【操作のポイント】VBE上でF8キーを押すと、コードを1行ずつ実行できます。どの処理で停止するかを確認する際に役立ちます。

 

まとめ エクセルでボタンを作成する方法

Excelのシートにマクロ実行ボタンを置くと、VBAに詳しくない利用者でもクリック操作だけで定型処理を実行できます。

まずは開発タブからフォームコントロールのボタンを挿入し、標準モジュールに作成したマクロを割り当てる方法を覚えるとよいでしょう。

見た目を整えたい場合は、図形にマクロを登録する方法も便利です。

ボタン名は実行結果が伝わる言葉にし、操作順に沿って配置することが、使いやすいシート作成につながります。

VBAを含むファイルはxlsm形式で保存し、マクロを有効化できる信頼済みの環境で動作を確認してください。

削除や初期化など影響の大きい処理には確認メッセージを加え、安全性と操作性を両立させましょう。