Excel の VBA コントロール: フォームと ActiveX

⚡ スマートサマリー

Excel の VBA コントロールは、ボタン、チェックボックス、テキストボックスなど、グラフィカル ユーザー インターフェイスを構成するインタラクティブな要素です。このページでは、フォーム コントロールと ActiveX コントロール、両者の違い、そして ActiveX コマンド ボタンのステップバイステップの例について説明します。

  • 🧩 GUIコントロール: ボタン、コンボボックス、チェックボックス、ラベルは、ユーザーがワークシート上で操作するインターフェースを構成します。
  • 🗂️ フォームコントロール: 割り当てられた単一のマクロを実行し、両方で動作するシンプルなコントロール Windows そしてMac版Excel。
  • ⚙️ ActiveX コントロール: VBAでコーディングされた、多くのプロパティとイベントを備えたよりリッチなコントロールが利用可能です。 Windows Excelのみ対応。
  • 🔧 前提条件: コントロールを追加する前に、開発者リボンを有効にし、マクロ有効ブックとしてファイルを保存してください。
  • ▶ ActiveXの例: コマンドボタンは文字列を印刷します Guru99 VBA チュートリアル:クリック時にセル範囲 A1 から A10 にデータを挿入します。
  • 🖱️ イベント: ActiveX コントロールは、クリック、変更、フォーカス取得などのイベントに、専用のサブルーチンを介して応答します。

Excel の VBA コントロール

VBA コントロール: Excel の VBA フォーム コントロールと ActiveX コントロール

Excel の VBA フォーム/GUI コントロール

GUI は、Graphical User Interface の略語です。GUI は、ユーザーが操作するプログラムの一部です。GUI はコントロールで構成されています。これらの Excel VBA コントロールは、フォームで使用できます。次の表は、最もよく使用される GUI VBA コントロールの一部を示しています。

S / N 管理 詳細説明
1 Command コードを実行するために使用されます
2 コンボ Box ユーザーにドロップダウン リストを表示するために使用されます。
3 チェック Box true または false の値に使用されます。複数のチェック ボックスが同時に true 値を持つことができます。
4 リスト Box ユーザーに単純なリストを提示するために使用されます
5 テキスト Box ユーザー入力を受け入れるために使用されます
6 スクロール・バー ナビゲーション目的でスクロールバーを提供するために使用されます。
7 スピンボタン スピン ボタンに表示される上矢印または下矢印をクリックして、数値を増減するために使用します。
8 オプションボタン true または false の値に使用されます。 一度に true 値を持つことができるオプション ボタンは XNUMX つだけです。
9 ラベル ユーザーに静的テキストを表示するために使用されます
10 画像 画像を表示するために使用されます
11 Toggleボタン 押された状態と押されていない状態のボタン。

VBA GUI コントロールでは、

  1. 「開発者」タブをクリックします
  2. 「挿入」ドロップダウンボタンをクリックします

次のドロップダウンパネルが表示されます

Excel の VBA フォーム/GUI コントロール

VBA フォーム コントロールの上にマウスを置くと、次のようにコントロールの名前が表示されます。

Excel の VBA フォーム/GUI コントロール

スプレッドシートへの GUI コントロールの追加

次に、ワークブックにコマンド ボタンを追加します。そのためには、次のことを行う必要があります。

  • 「挿入」ドロップダウンをクリックします
  • 上の画像に示すように、コマンド ボタン (ActiveX コントロール) をクリックします。
  • シート上にボタンをドラッグして描画します

スプレッドシートへの GUI コントロールの追加

GUI コントロールのプロパティの設定

次に、ボタンのキャプションをよりわかりやすいものに設定します。

GUI コントロールのプロパティの設定

  1. 作成したイコールボタンを右クリックします
  2. プロパティメニューを選択
  3. 次のプロパティウィンドウが表示されます

GUI コントロールのプロパティの設定

  • name プロパティを btnButton に設定します。 name プロパティは、コード ウィンドウでコントロールを識別するために使用されます。 btn はボタンの接頭辞です。
  • [Caption] プロパティを [Click Me] に設定します。 キャプション プロパティのテキストは、ユーザーにボタン上で表示されるものです。

完了したらウィンドウを閉じます。

以下の結果が得られます。

GUI コントロールのプロパティの設定

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

Excelには2種類のコントロールがあり、適切なコントロールを選択することでプロジェクトを簡素化できます。フォームコントロールはExcelに組み込まれており、割り当てられた単一のマクロを実行します。一方、ActiveXコントロールは、VBAコードを介してさまざまなイベントに応答するプログラム可能なオブジェクトです。以下の表で、この2つのコントロールを比較します。

機能 フォームコントロール ActiveXコントロール
簡単です。コントロールにマクロを1つ割り当てます。 応答するにはVBAイベントコードが必要です
特性 選択肢が限られている フォント、色、動作など、広範囲にわたる
イベント クリック時の単一アクション Click、Change、GotFocusなどの多くのイベント
互換性 上の作品 Windows Mac Excel 上の作品 Windows Excelのみ
に最適 手軽で簡単なワークシート作業 インタラクティブで動的なユーザーフォーム

要するに、マクロが1つで十分な場合はフォームコントロールを使用し、インターフェースに豊富なプロパティが必要な場合や、複数のユーザーイベントに反応する必要がある場合は、ActiveXコントロールを選択してください。

前提条件

ActiveX サンプルを作成する前に、コントロールが使用可能になり、マクロが保存できるようにワークブックを準備してください。

構成 Microsoft Excel
前のチュートリアルで説明したように、リボンにここに示すように「開発者」アイコンが表示されていることを確認してください。

前提条件

次に、sheet1 の名前を「VBA」に変更します。 Opera以下のスクリーンショットに示すように、「tor」と入力します。ワークブックをExcelマクロ有効ワークブック(*.xlsm)ファイル形式で保存します。(下の画像を参照)

前提条件

その後、「保存」ボタンをクリックします。

VBA で ActiveX コントロールを使用する方法

ワークブックの準備ができたら、動作するActiveXボタンを追加できます。このExcelのActiveXコントロールに関するセクションでは、VBAで「commandclick」ボタンを組み込み、そのボタンを使用してプログラムを実行する方法を見ていきます。

ステップ1) このステップでは、Active X コントロールから「挿入ボタン」オプションをクリックします。 次に、そこからコマンド ボタン オプションを選択します。

VBA で ActiveX コントロールを使用する

ステップ2) 「clickcommandbutton1」を挿入するには、マウス カーソルを Excel シートにドラッグします。

VBA で ActiveX コントロールを使用する

ステップ3) 次にコマンドボタンを右クリックして「表示」オプションを選択します。 Code"。

VBA で ActiveX コントロールを使用する

ステップ4) 正しいシートにいることを確認してください。 コードエディタが開きます。 コードを入力してください。

  • コードでは、範囲 A1 から A10 を定義しました。
  • この範囲は、Excel シートのセル番号を「A1 ~ A10」として定義します。
  • 次に、文字列「Guruコード内の「99 VBAチュートリアル」
  • つまり、Excel の「コマンド ボタン」をクリックすると、次のように印刷されるはずです。Guruセル範囲「A1 ~ A10」に「99 VBA チュートリアル」と入力します。

VBA で ActiveX コントロールを使用する

ステップ5) 次のステップでは、コード ファイルを保存してエディタを終了します。 Excel ファイルに戻るには、Excel シート アイコンをクリックします。 VBA で ActiveX コントロールを使用する 一番左にあります。

VBA で ActiveX コントロールを使用する

ステップ6) Excel シートで、[デザイン モード] タブがオンになっていることがわかります。 「オフ」になっていることを確認してください。そうしないとコードが機能しません。

VBA で ActiveX コントロールを使用する

ステップ7) デザイン モードがオフの場合、緑色のハイライトは表示されません。 コマンドボタンをクリックできるようになりました。

VBA で ActiveX コントロールを使用する

ステップ8) 「CommandButton1」をクリックしてください。すると「Guruセル範囲「A1からA10」に「99 VBAチュートリアル」と入力します。

VBA で ActiveX コントロールを使用する

上記のコードを含む Excel をダウンロード

上記のExcelファイルをダウンロードしてください。 Code

VBAにおける一般的なActiveXコントロールイベント

ActiveX コントロールは、ユーザーがコントロール上で実行する操作であるイベントに反応するため、非常に強力です。各イベントはそれぞれ独自のサブルーチンを実行するため、同じボタンでもユーザーの操作に応じて異なる動作をさせることができます。最も一般的なイベントを以下に示します。

  • 詳しくはこちら – ユーザーがコントロールをクリックしたときにコードを実行します。これは上記の例で使用されているイベントです。
  • 前日比 – コントロールの値が変更されたときに実行されます(例:ty)ping テキストボックスに入力するか、コンボボックスの項目を選択します。
  • 集中力向上/集中力喪失 – コントロールがフォーカスを取得または失ったときに実行され、入力の検証に役立ちます。
  • キープレス – コントロールがアクティブな状態でユーザーがキーを押したときに実行されます。
  • マウス移動 – マウスカーソルがコントロールの上に移動したときに実行されます。
  • ダブルクリック ユーザーがコントロールをダブルクリックしたときに実行されます。

イベントにコードを追加するには、デザインモードをオンにして、コントロールを右クリックし、[表示]を選択します。 Codeそして、コードウィンドウ上部のドロップダウンリストからイベントを選択します。

よくあるご質問

フォーム コントロールは、割り当てられた単一のマクロを実行し、 Windows および Mac。ActiveX コントロールは VBA でプログラミングされ、多くのプロパティとイベントを公開し、 Windows Excelのみ対応。

フォームおよびActiveXコントロールの挿入メニューは、デフォルトでは非表示になっている開発者リボンにあります。ファイル、オプション、リボンのカスタマイズから「開発者」にチェックを入れると、コントロールとVBAエディターが使用できるようになります。

ボタンはまだデザインモードになっている可能性があり、開発者タブで緑色にハイライト表示されています。コントロールがイベントコードを実行するように、デザインモードをオフにしてください。また、ワークブックはマクロが有効な.xlsmファイルとして保存する必要があります。

はい。CopilotなどのAIアシスタントは、例えばボタンが押されたときに範囲をクリアするといった単純な記述から、クリックまたは変更サブルーチンを作成します。開発者はそれをコントロールのコードウィンドウに貼り付けてテストします。

はい。必要な入力内容を説明すると、AIアシスタントが適切なコントロール(例えば、固定リスト用のコンボボックスや、はい/いいえの値を選択するチェックボックスなど)を提案し、その主要なプロパティの設定方法を説明します。