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

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 コントロールでは、
- 「開発者」タブをクリックします
- 「挿入」ドロップダウンボタンをクリックします
次のドロップダウンパネルが表示されます
VBA フォーム コントロールの上にマウスを置くと、次のようにコントロールの名前が表示されます。
スプレッドシートへの GUI コントロールの追加
次に、ワークブックにコマンド ボタンを追加します。そのためには、次のことを行う必要があります。
- 「挿入」ドロップダウンをクリックします
- 上の画像に示すように、コマンド ボタン (ActiveX コントロール) をクリックします。
- シート上にボタンをドラッグして描画します
GUI コントロールのプロパティの設定
次に、ボタンのキャプションをよりわかりやすいものに設定します。
- 作成したイコールボタンを右クリックします
- プロパティメニューを選択
- 次のプロパティウィンドウが表示されます
- name プロパティを btnButton に設定します。 name プロパティは、コード ウィンドウでコントロールを識別するために使用されます。 btn はボタンの接頭辞です。
- [Caption] プロパティを [Click Me] に設定します。 キャプション プロパティのテキストは、ユーザーにボタン上で表示されるものです。
完了したらウィンドウを閉じます。
以下の結果が得られます。
フォームコントロールと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 コントロールから「挿入ボタン」オプションをクリックします。 次に、そこからコマンド ボタン オプションを選択します。
ステップ2) 「clickcommandbutton1」を挿入するには、マウス カーソルを Excel シートにドラッグします。
ステップ3) 次にコマンドボタンを右クリックして「表示」オプションを選択します。 Code"。
ステップ4) 正しいシートにいることを確認してください。 コードエディタが開きます。 コードを入力してください。
- コードでは、範囲 A1 から A10 を定義しました。
- この範囲は、Excel シートのセル番号を「A1 ~ A10」として定義します。
- 次に、文字列「Guruコード内の「99 VBAチュートリアル」
- つまり、Excel の「コマンド ボタン」をクリックすると、次のように印刷されるはずです。Guruセル範囲「A1 ~ A10」に「99 VBA チュートリアル」と入力します。
ステップ5) 次のステップでは、コード ファイルを保存してエディタを終了します。 Excel ファイルに戻るには、Excel シート アイコンをクリックします。 一番左にあります。
ステップ6) Excel シートで、[デザイン モード] タブがオンになっていることがわかります。 「オフ」になっていることを確認してください。そうしないとコードが機能しません。
ステップ7) デザイン モードがオフの場合、緑色のハイライトは表示されません。 コマンドボタンをクリックできるようになりました。
ステップ8) 「CommandButton1」をクリックしてください。すると「Guruセル範囲「A1からA10」に「99 VBAチュートリアル」と入力します。
上記のコードを含む Excel をダウンロード
VBAにおける一般的なActiveXコントロールイベント
ActiveX コントロールは、ユーザーがコントロール上で実行する操作であるイベントに反応するため、非常に強力です。各イベントはそれぞれ独自のサブルーチンを実行するため、同じボタンでもユーザーの操作に応じて異なる動作をさせることができます。最も一般的なイベントを以下に示します。
- 詳しくはこちら – ユーザーがコントロールをクリックしたときにコードを実行します。これは上記の例で使用されているイベントです。
- 前日比 – コントロールの値が変更されたときに実行されます(例:ty)ping テキストボックスに入力するか、コンボボックスの項目を選択します。
- 集中力向上/集中力喪失 – コントロールがフォーカスを取得または失ったときに実行され、入力の検証に役立ちます。
- キープレス – コントロールがアクティブな状態でユーザーがキーを押したときに実行されます。
- マウス移動 – マウスカーソルがコントロールの上に移動したときに実行されます。
- ダブルクリック ユーザーがコントロールをダブルクリックしたときに実行されます。
イベントにコードを追加するには、デザインモードをオンにして、コントロールを右クリックし、[表示]を選択します。 Codeそして、コードウィンドウ上部のドロップダウンリストからイベントを選択します。
















