Excel VBAのボタンはフォームコントロールとActiveXどっちがいいのか

Excel VBA

Excel VBAのボタンはフォームコントロールとActiveXどっちがいいのか

ExcelでVBAツールを作るとき、

「マクロ実行ボタンをどう作るか」

で迷うことがあります。

Excelには主に、

  • フォームコントロールのボタン
  • ActiveXコントロールのボタン

があります。

どちらもマクロを実行できます。

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

基本的に

フォームコントロールのボタン

を使うのが無難です。


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

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

Excelで昔から使われているシンプルなボタンです。

ボタンを配置して、

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

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

特徴は、

  • シンプル
  • 軽い
  • 壊れにくい
  • 他人のExcel環境でも動きやすい
  • マクロ登録が分かりやすい

という点です。

実務用のExcelツールでは、

この「壊れにくい」という点がかなり重要です。


ActiveXコントロールとは

ActiveXコントロールは、

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

ボタンだけでなく、

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

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

見た目や動作を細かく作り込めるため、

自分用のツールや、

社内環境が完全に固定されている場合には便利です。

ただし、

実務配布用として考えると、

少し注意が必要です。


フォームコントロールとActiveXの違い

ざっくり言うと、

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

安定性重視

です。

ActiveXは、

高機能性重視

です。

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

できることはシンプルですが、

Excel環境が変わっても比較的安定して動きます。

一方でActiveXは、

柔軟な制御ができますが、

環境差やセキュリティ設定の影響を受けることがあります。


実務配布ならフォームコントロールがおすすめな理由

Excel VBAツールは、

自分のPCで動けばよい、

というものではありません。

特に実務で使うツールは、

  • 別の担当者が使う
  • 元請や協力会社へ渡す
  • 別PCで開く
  • Excelのバージョンが違う
  • セキュリティ設定が違う

ということが普通にあります。

このとき重要なのは、

見た目のかっこよさではなく、

相手の環境でもできるだけ普通に動くこと

です。

その意味で、

フォームコントロールのボタンは実務向きです。


ActiveXで起きやすいトラブル

ActiveXが悪いわけではありません。

ただし配布用Excelでは、

次のようなトラブルが起きることがあります。

  • ボタンが反応しない
  • デザインモードが絡んで動作しない
  • セキュリティ設定で制限される
  • Excelのバージョン差で挙動が変わる
  • 他人のPCで表示や動作が崩れる
  • ファイルを開いた人が原因を判断しにくい

作った本人のPCでは問題なく動いても、

配布先で止まることがあります。

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


ActiveXを使ってもよい場面

もちろん、

ActiveXを使ってよい場面もあります。

例えば、

  • 自分だけが使うツール
  • 社内PC環境が固定されている
  • 複雑な入力フォームを作りたい
  • ボタン以外のUI部品を細かく制御したい
  • ユーザーフォーム的な操作感を作りたい

といった場合です。

つまり、

ActiveXは高機能な分、

環境を管理できる場合に向いています。


建設コンサル実務でExcelツールを配るときの考え方

建設コンサル実務では、

Excelツールを作るときに、

作った本人以外が使う場面が多くあります。

例えば、

  • 若手に作業してもらう
  • 協力会社に入力してもらう
  • 元請内で共有する
  • 別PCで動かす
  • 成果品作成時だけ使う

といった場面です。

この場合、

ボタンの見た目や高機能性よりも、

押したら普通に動くこと

が大切です。

そのため、

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

フォームコントロールのボタンを基本にする方が無難です。


実務用Excelツールは単純な方が強い

Excel VBAツールでは、

つい画面を作り込みたくなります。

しかし実務では、

複雑なUIよりも、

  • ボタンが分かりやすい
  • 操作が少ない
  • エラーが起きにくい
  • 他人の環境でも動きやすい

ことの方が重要です。

特に配布用ツールでは、

使う人がVBAに詳しいとは限りません。

そのため、

できるだけ単純な構成にしておく方が、

結果的にトラブルが少なくなります。


まとめ

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

自分用ならActiveXでも問題ありません。

しかし、

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

基本的にフォームコントロールのボタンを使うのが無難です。

理由は、

  • シンプル
  • 安定しやすい
  • 環境差に強い
  • マクロ登録が分かりやすい
  • 配布時トラブルが少ない

からです。

Excelツールは、

自分のPCで動くことより、

他人の環境でも安定して動くことが重要です。


維持DXノートについて

維持DXノートでは、

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

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

Excel作業の自動化や、

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

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


関連する無料Excelツール

維持DXでは、

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

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

いずれも、

実務で発生しやすい

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

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

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

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

    お名前(任意)

    メールアドレス(必須)

    会社名・所属(任意)

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

    ご相談内容(任意)

    ご注意

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

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

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

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

    コメント