Excelマクロボタンは図形・フォームコントロール・ActiveXのどれがいいのか

Excel VBA

Excelマクロボタンは図形・フォームコントロール・ActiveXのどれがいいのか

Excelでマクロ実行ボタンを作ろうとすると、

意外と迷うことがあります。

  • 図形にマクロを登録する
  • フォームコントロールのボタンを使う
  • ActiveXコントロールのボタンを使う

どれでもマクロは実行できます。

ただし、実務で他人に配布するExcelツールでは、

見た目だけで選ぶとトラブルになることがあります。

結論から言うと、

迷ったらフォームコントロール。

簡単なメニュー画面なら図形ボタンもあり。

ActiveXは高機能ですが、配布用Excelでは慎重に使うのが無難です。


結論:実務配布ならフォームコントロールか図形ボタンが無難

Excelマクロボタンの選び方は、

次のように考えると分かりやすいです。

種類 向いている用途 メリット 注意点 実務配布でのおすすめ度
図形ボタン 簡単なメニュー画面 見た目を作りやすい 標準ボタン感は弱い
フォームコントロール 通常のマクロ実行ボタン 安定しやすい・登録が簡単 見た目の自由度は低め
ActiveX 複雑なUIやイベント処理 高機能 環境差・セキュリティ・動作不安定がある

自分用の簡単なマクロなら、

図形ボタンでも十分です。

社内配布や実務配布を考えるなら、

フォームコントロールが無難です。

ActiveXは便利ですが、

不特定多数に配布するExcelではトラブル要因になりやすいため、

基本的には慎重に扱う方がよいです。


図形ボタンとは

図形ボタンとは、

Excelの「挿入」から四角形などの図形を置き、

その図形にマクロを登録してボタンのように使う方法です。

図形なので、

  • 色を変えやすい
  • 文字を入れやすい
  • サイズ調整しやすい
  • メニュー画面っぽく作りやすい

というメリットがあります。

例えば、

「調書を作成する」

「一覧表を出力する」

「フォルダを開く」

のようなメニューを作るだけなら、

図形ボタンでも十分です。

一方で、

フォームコントロールのような標準的なボタン部品ではないため、

ボタンとしての管理性は少し弱くなります。


フォームコントロールとは

フォームコントロールは、

Excelに標準で用意されているボタン部品です。

ボタンを配置して、

右クリックからマクロを登録すれば、

クリック時に指定したマクロを実行できます。

特徴は、

  • シンプル
  • 軽い
  • マクロ登録が分かりやすい
  • 他人のExcel環境でも比較的安定しやすい
  • 配布用Excelツールで扱いやすい

という点です。

見た目の自由度は高くありません。

しかし、

実務用Excelツールでは、

見た目よりも

押したら普通に動くこと

の方が重要です。

その意味で、

フォームコントロールはかなり実務向きです。


ActiveXとは

ActiveXコントロールは、

フォームコントロールより高機能な部品です。

ボタンだけでなく、

  • テキストボックス
  • コンボボックス
  • チェックボックス
  • リストボックス

などを細かく制御できます。

また、

クリック時の処理だけでなく、

状態変化や入力イベントなども扱いやすくなります。

ただし、

高機能な分、

  • 環境差
  • セキュリティ設定
  • デザインモード
  • Excelバージョン差
  • 配布先PCでの動作不安定

などの影響を受けることがあります。

自分のPCでは動いても、

他人のPCで動かないことがあります。

これが実務配布ではかなり面倒です。


コピペで試せる確認用コード

図形ボタンやフォームコントロールのボタンには、

次のような短いマクロを登録して動作確認できます。

ご注意

以下のVBAコードは、動作イメージを確認するためのサンプルです。
実行前に必ずExcelファイルのバックアップを作成してください。
業務で使用しているファイルに、いきなり貼り付けて実行しないでください。
Excelのバージョンや設定により、動作が異なる場合があります。

Sub TestButtonClick()

    Range("A1").Value = "ボタンからマクロを実行しました"
    MsgBox "マクロを実行しました。A1セルを確認してください。"

End Sub

このコードは、

A1セルに実行結果を書き込み、

メッセージを表示するだけです。

ファイル削除や上書き保存などは行いません。

図形ボタンでも、

フォームコントロールでも、

このマクロを登録すれば動作確認できます。


図形ボタンにマクロを登録する場合

図形ボタンの場合は、

次のような流れになります。

  1. Excelで図形を挿入する
  2. 図形を右クリックする
  3. 「マクロの登録」を選ぶ
  4. TestButtonClick を選ぶ
  5. 図形をクリックして実行する

図形ボタンは、

見た目を自由に作りたい場合に便利です。

簡単なメニュー画面なら、

図形ボタンで十分な場面も多いです。


フォームコントロールにマクロを登録する場合

フォームコントロールの場合は、

開発タブからボタンを配置します。

  1. 「開発」タブを開く
  2. 「挿入」をクリックする
  3. フォームコントロールの「ボタン」を選ぶ
  4. シート上に配置する
  5. 登録するマクロとして TestButtonClick を選ぶ

通常のマクロ実行ボタンとしては、

この方法が分かりやすいです。

実務配布用のExcelツールでは、

まずフォームコントロールを候補にするのが無難です。


実務配布ではどれを選ぶべきか

用途別に整理すると、

次のようになります。

自分用の簡単なマクロ

図形ボタンでも問題ありません。

見た目を自由に作れるので、

簡単な操作メニューには向いています。

社内配布する業務ツール

フォームコントロールが無難です。

マクロ登録が分かりやすく、

比較的安定して動きやすいためです。

見た目重視の簡易メニュー

図形ボタンもありです。

ボタンを大きくしたり、

色分けしたり、

操作画面らしく見せたい場合に使いやすいです。

複雑なイベント処理が必要

ActiveXも候補になります。

ただし、

配布先のExcel環境やセキュリティ設定を管理できる場合に限った方が安全です。

不特定多数に配布するExcel

ActiveXは避けた方が無難です。

相手のPC環境が分からない場合、

動かない原因の切り分けが難しくなるためです。


実務用Excelツールでは「壊れにくさ」が大事

Excel VBAでは、

つい高機能なものを使いたくなります。

しかし、

実務用Excelツールでは、

高機能であることよりも、

壊れにくいこと

の方が重要です。

特に、

  • 元請へ渡す
  • 協力会社へ渡す
  • 社内の別担当者が使う
  • 古いExcel環境で開く
  • セキュリティ設定が違うPCで開く

といった場合、

複雑な仕組みほどトラブル要因になります。

ボタンは、

押したらマクロが動けば十分なことも多いです。

その場合は、

フォームコントロールや図形ボタンで足ります。


まとめ

Excelでマクロ実行ボタンを作る場合、

図形・フォームコントロール・ActiveXの3つで迷うことがあります。

実務目線では、

  • 図形ボタンは手軽
  • フォームコントロールは安定
  • ActiveXは高機能だが事故りやすい

という整理で考えると分かりやすいです。

自分用や簡単なメニュー画面なら、

図形ボタンでも十分です。

標準的なマクロ実行ボタンなら、

フォームコントロールが無難です。

ActiveXは便利ですが、

配布用Excelでは環境差やセキュリティの影響を受けることがあるため、

慎重に使う方がよいです。

実務配布では、

見た目や高機能性よりも、

他人の環境でも安定して動くこと

を優先するのがおすすめです。


維持DXノートについて

維持DXノートでは、

建設コンサル実務で使うExcel/VBAや、

橋梁点検調書作成支援ツールの開発メモを公開しています。

Excel作業の自動化や、

帳票作成の手間を減らす考え方を、

実務目線で整理しています。


関連する無料Excelツール

維持DXでは、

橋梁点検・維持管理業務向けのExcel VBAツールを無料公開しています。

  • 橋梁点検調書の作成支援ツール
  • 評価結果一覧作成ツール
  • 旧様式から2024様式への移行支援ツール
  • 成果整合確認ツール

いずれも、

実務で発生しやすい

  • 転記作業
  • 写真貼付
  • 一覧作成
  • 旧成果移行
  • 整合確認

の負担を減らすための補助ツールです。

以下のフォームにメールアドレスを入力すると、

ダウンロードURLを自動返信メールでお送りします。

    お名前(任意)

    メールアドレス(必須)

    会社名・所属(任意)

    ご関心のある内容(任意)

    ご相談内容(任意)

    ご注意

    ダウンロードURLは、入力いただいたメールアドレス宛に自動返信で送信されます。

    ダウンロードしたExcelでマクロが実行できない場合は、

    右クリック → プロパティ →「許可する」 をチェック後、再度開いてください。

    (Windowsのセキュリティ機能により初回実行時にブロックされる場合があります)

    コメント