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

Excelのフォーム コントロール と ActiveX コントロールの違いを紹介します。

概要

Excelの[開発]タブの[挿入]ボタンをクリックすると、下図のドロップダウンウィンドウが表示されます。
Excelのフォーム コントロール と ActiveX コントロールの違い:画像1

ウィンドウには[フォーム コントロール]と[ActiveX コントロール]の2種類があり、似たようなコントロールが両方にあります。
Excelのフォーム コントロール と ActiveX コントロールの違い:画像2

この記事では、フォーム コントロールと、ActiveX コントロールの違いについて紹介します。

コントロールの配置

先の[開発]タブの[挿入]ボタンをクリックして表示されるドロップダウン ウィンドウで配置したいコンポーネントのアイコンをクリックして選択します。コンポーネントを選択状態にしたうえで、シート上でドラッグするとコントロールを配置できます。ほぼすべてのコントロールはドラッグ完了後にすぐ配置されますが、[フォーム コントロール]の[ボタン]コントロールだけはドラッグの直後に下図の[マクロの登録]ダイアログが表示され、ボタンをクリックしたときのマクロを指定する画面が表示されます。
Excelのフォーム コントロール と ActiveX コントロールの違い:画像3

コントロールの外観

コントロールの外観はフォーム コントロールもActiveX コントロールもほぼ同じです。デフォルトで設定されるキャプション文字列は異なります。
Excelのフォーム コントロール と ActiveX コントロールの違い:画像4

コントロールの選択

コントロールの選択の仕方は異なります。

フォーム コントロール

フォーム コントロールは[ホーム]タブの[編集]セクションの[オブジェクトの選択]ボタンをクリックし選択モードになった状態でコントロールをクリックするか選択したい範囲をドラッグすることで選択できます。 複数のコントロールを選択する手順はこちらの記事を参照してください。
Excelのフォーム コントロール と ActiveX コントロールの違い:画像5

ActiveXコントロール

ActiveXコントロールを選択する場合は、[開発]タブの[デザインモード]のボタンをクリックしデザインモードに設定した状態で、選択したいコントロールをクリックすると選択できます。
Excelのフォーム コントロール と ActiveX コントロールの違い:画像6

プロパティの表示

フォームコントロールは選択した状態でもプロパティウィンドウにコントロールのプロパティは表示されず、シートのプロパティが表示されます。
Excelのフォーム コントロール と ActiveX コントロールの違い:画像7

ActiveXコントロールは選択するとプロパティウィンドウに選択したコントロールのプロパティ情報が表示されます。 プロパティウィンドウが表示されるため、ボタンの表面のカラーやフォントサイズ、ボタンへのアイコン画像の表示などの細かい設定ができます。
Excelのフォーム コントロール と ActiveX コントロールの違い:画像8

主な使い方

フォーム コントロール

  • ボタン:クリック時にマクロを実行
  • ボタン以外:[コントロールの書式設定]でリンクするセルを指定してセルを変化させる

ActiveXコントロール

  • VBA (Excelマクロ)の呼び出し、VBAからの参照

まとめ

違いを表にすると下記になります。
選択方法プロパティ情報ボタンの設置時利用方法カスタマイズ
フォームコントロール [ホーム]タブの[オブジェクトの選択]からプロパティウィンドウには表示されない[マクロの登録]ダイアログが表示される。マクロの呼び出し、セルの値の反映
ActiveXコントロール [開発]タブの[デザインモード]からプロパティウィンドウに表示される何も表示され無いマクロの呼び出し、マクロからの参照

セルの値を変更する用途、簡単なマクロの呼び出しに使う場合は「フォーム コントロール」の利用が適しています。 マクロのコードからの参照、コントロールの変化(イベント)でマクロを実行した場合は「ActiveX コントロール」の利用が適しています。

A.W.S (Another World Story)

Excelのフォーム コントロール と ActiveX コントロールの違い:画像9
炭火の焦げる甘い匂いが店じゅうに満ちている。渋谷の路地裏にある〈星空ホルモン〉には女子ばかりのグループがいくつもいて、 週末の夜の焼肉は軽く戦場だ。テーブルにはタン塩、カルビ、ホルモンが所狭しと並び、金網の上で脂がパチパチ弾けるたび、細い煙が照明を霞ませた。

「あっつ! ねえ、誰かトング交代して〜」
ミサが頬を赤くしながら網をひっくり返すと、隣のカナがグラスを揺らした。氷がカランと鳴る。
「ところでさ、会社で“フォーム コントロールとActiveX コントロールの違い”を新人に説明しろって言われたんだけど、例え話ない?」
と、肉より熱い話題を放り込む。

リコはレモンサワーを一口。
「焼肉で例えるなら簡単よ。フォーム・コントロールは“塩タン”。注文した瞬間、すぐ焼いてレモンを絞るだけで完成。 クリックしたらマクロを選ぶだけで動くし、細かい味付けはできないけど失敗しない」

カナが「なるほど。セルにリンクして色々しない限りは十分ってことね」
と頷くと、ミサがタレ壺を掲げた。「じゃあActiveXは?」

「タレ漬けハラミ。下味を決める“デザインモード”にしてからじゃないと触れないし、プロパティで辛さも甘さも自由自在。 イベントも豊富だから『裏返した瞬間に追いダレ』みたいな芸当までできる」

網の上では塩タンがもう食べ頃。ミサが慌てて皿に移しながら、「でもActiveXは動かすたびに“厨房に戻って仕込み直し”みたいで面倒くさくない?」 「うん、だから“セルの値を変えるだけ”とか“簡単なクリックだけ”なら塩タン——じゃなくてフォームでいいの」
リコは涼しい顔。「けど、VBAから手を出したり、見た目をガッツリ変えたいならタレ漬けハラミ——ActiveX。要は用途と手間のトレードオフ」

そこへ店員が追加のハラミを持ってきた。「タレと塩、どちらにされます?」
三人は顔を見合わせたのち、声を揃えて答える。
「――デザインモードで!」

店員がきょとんとする隙に、網の上の塩タンはすっかり焦げ目。ミサが叫ぶ。「ほら、プロパティ開いてる間にフォーム(塩タン)燃えたじゃん!」
カナは肩をすくめて笑った。「つまり今日の教訓。凝りすぎると肉も資料も焦げる。シンプルで済むならフォームで、凝りたい夜だけActiveX——って新人に言っとくわ」

レモンサワーの泡が弾け、三人の笑い声が煙とともに天井へ昇っていった。

AuthorPortraitAlt
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
作成日: 2018-09-01
Copyright © 1995–2025 iPentec all rights reserverd.