ActiveXコントロールは、VBAコードの使用の有無にかかわらず、ワークシートフォーム、およびVBAユーザーフォームで使用できます。

ActiveXコントロールは、フォームコントロールによって提供されるものよりも柔軟な設計要件を提供します。 ActiveXコントロールを使用すると、その広範なプロパティにより、外観、フォント、動作、およびその他の多くの特性をカスタマイズできます。

ActiveXコントロールを使用すると、ActiveXコントロールが開始されたときに発生するさまざまなイベントを制御できます。リストボックスコントロールからのユーザーの選択に応じて、ユーザーがボタンをクリックしたときの項目を含むコンボボックスに応じて、さまざまなアクションを実行できます。

ActiveXコントロールに関連付けられたイベントに応答するマクロを作成することもできます。フォームのユーザーがコントロールを操作すると、VBAコードが実行され、そのコントロールで発生するイベントが処理されます。

[開発者リボン]の下にActiveXコントロールがあります。[開発者リボン]をクリックします。[挿入]をクリックして、選択したActiveXコントロールを選択します

img1

※クリックして描くことができます。

img2

利用可能な11のActiveXコントロールがあります:

{空} 1。コマンドボタン:コマンドボタンは、プッシュボタンとも呼ばれます。コマンドボタンを割り当てて、マクロまたは数式の計算を自動化できます。

{空} 2。コンボボックス:*コンボボックスコントロールは、アイテムのドロップダウンリストを表示するために使用されます。 ComboBoxコントロールを使用して、選択したリストにアイテムを追加したり、ドロップダウンリストを作成したりできます。このコントロールを使用すると、ユーザーはコンボボックスにテキストを入力するか、リストからアイテムを選択してアイテムを選択できます。オプションのリストがある場合は、コンボボックスが適切です。コンボボックスには編集フィールドが含まれています。リストにないオプションは手動で入力できます。ユーザーが下矢印をクリックするまで完全なリストが表示されないため、コンボボックスのスペースは少なくて済みます。

{空} 3。チェックボックス:チェックボックスコントロールは、選択されるとチェックマークを表示します。通常、チェックボックスは、はい/いいえまたはTrue / False *の選択をユーザーに表示するために使用されます。ユーザーは、1つまたは複数のオプションを同時に選択できます。

{空} 4。リストボックス:*リストボックスコントロールには、ユーザーが1つ以上を同時に選択できるアイテムのリストが表示されます。リストボックスを使用すると、ユーザーはリストからアイテムを選択できます。デフォルトでは、選択肢は1つの列に垂直に表示されます。ユーザーは複数の列を設定することもできます。リストボックスは、入力をリストにあるものに制限する場合に適しています。

{空} 5。テキストボックス:*テキストボックスコントロールは、実行時にユーザーが入力した情報、またはデザイン時にTextプロパティに割り当てられた情報を表示するために使用されます。編集可能なテキストには、テキストボックスコントロールを使用する必要があります。 LockedプロパティをTrueに設定することで、読み取り専用にすることができます。テキストボックスには、複数行を入力できます。

{空} 6。スクロールバー:スクロールバーは、水平または垂直にスクロールすることで、アイテムの大規模なリストを簡単にナビゲートできます。スクロール矢印をクリックするか、上下または横にスクロールするか、スクロールバーをドラッグすると、スクロール矢印をクリックしてページを移動できます。 。ユーザーは、参照されるセルに直接テキスト値を手動で入力することもできます。

{空} 7。スピンボタン:*スピンボタンを使用して、セル内の数を増減できます。スピンボタンは、設定範囲の最小値と最大値を表示するのに便利です。

{空} 8。オプションボタン:「オプションボタン」を使用して、一度に1つのオプションを選択できます。 「オプションボタン」の重要な機能は、オプションボタンを選択すると開始され、他のオプションボタンコントロールは使用できなくなります。複数のオプションボタンがある場合、選択できるオプションボタンは1つだけです。

{空} 9。ラベル:*ラベルは、コントロールとその目的を識別します。ラベルは、クリックした場合にコントロールが実行する内容の説明を提供します。これらは、独自のキャプションプロパティを持たないコントロールにラベルを付けるために使用されます。

{空} 10。画像:*画像コントロールはグラフィックを表示するために使用されます。

画像コントロールは、インビットマップ、JPEG、またはGIFファイル形式で表示できます。

{空} 11。トグルボタン:トグルボタンは、行の範囲を非表示/非表示にするために使用されます。下の図に示すように、アクセスできるActiveXコントロールは他にもたくさんあります。

img3

  • 選択できるActiveXコントロールのリストが表示されます

img4

  • プロパティウィンドウでコントロールの名前とキャプションを変更できます

各ActiveXコントロールを使用して、その動作を確認します

1)コマンドボタンの作成

列Bに乱数を入力します。コマンドボタンを描画します。コマンドボタンを右クリックし、[コードの表示]をクリックして、デザインモードがアクティブになっていることを確認します。VBエディター画面が表示され、コードを入力して、テキストを通常から太字に選択して変更します。コマンドボタンをクリックします*次のコードを入力します

Private Sub CommandButton1_Click()

Selection.Font.Bold = True

End Sub

img5

  • 範囲B2:B4を選択し、コマンドボタンをクリックして([デザイン]タブがアクティブになっていないことを確認してください)、コードを実行します。

img6

  • フォントが通常から太字に変更されます。

img7

1)コンボボックスの作成

  • ワークシートにコンボボックスをドラッグします

img8

コンボボックスを右クリックし、[コードの表示]をクリックして、デザインモードがアクティブになっていることを確認します。次のコードを入力します

Private Sub ComboBox1_Change()

With Sheet3.ComboBox1

.AddItem "Excel"

.AddItem "Word"

.AddItem "Access"

End With

End Sub

img9

  • コンボボックスはドロップダウンリストにアイテムを追加します。

img10

  • コンボボックスからは、一度に1つのオプションしか選択できません。

===

2)チェックボックスの作成

チェックボックスを描画するチェックボックスを右クリックし、[コードの表示]をクリックして、デザインモードがアクティブになっていることを確認します

img11

VBエディター画面が表示され、セルG2の値がTRUEまたはFALSEであることを示すコードを入力します。次のコードを入力します

Private Sub CheckBox1_Click()

If CheckBox1.Value = True Then Range("G2").Value = True

If CheckBox1.Value = False Then Range("G2").Value = False

End Sub

img12

  • チェックボックスをクリックすると、コードが実行され、TRUEまたはFALSEが返されます

img13

img14

  • チェックボックスはフォームで非常に便利です。

3)リストボックスの作成

リストボックスを描画するリストボックスを右クリックし、[コードの表示]をクリックして、デザインモードがアクティブになっていることを確認します

img15

VBエディター画面が表示され、オプションのリストを表示するコードを入力します。次のコードを入力します

Private Sub ListBox1_Click()

With Sheet5.ListBox1

.AddItem "Excel"

.AddItem "Word"

.AddItem "Access"

End With

End Sub

img16

※リストボックスは以下のオプションでご利用いただけます。

img17

  • リストボックスのデータをリンクするには、[プロパティ]をクリックして、出力を表示するセルを入力します。

img18

  • リストボックスはフォームで非常に便利です。

4)テキストボックスの作成

テキストボックスを描画するテキストボックスを右クリックし、[コードの表示]をクリックして、デザインモードがアクティブになっていることを確認します

img19

VBエディタ画面が表示されます次のコードを入力してください

Private Sub TextBox1_Change()

TextBox1.Text = "www.exceltips.com"

End Sub

img20

※コード実行後、テキストボックス内のテキストが表示されます。

img21

5)スクロールバーの作成

スクロールバーを描くスクロールバーは、必要に応じて水平または垂直に作成できます。

  • スクロールバーを右クリックして[コードの表示]をクリックし、デザインモードがアクティブになっていることを確認します

img22

※VBエディタ画面が表示されます。

  • [プロパティ]ウィンドウで、セルをD2にリンクします。 [小さな変更]オプションで、間隔の値を指定します。たとえば、間隔を5に指定すると、値は5,10,15,20….100のように始まります

img23

  • プロパティウィンドウの値は現在の値を示しています。

img24

6)スピンボタンの作成

スピンボタンを描くスピンボタンは、必要に応じて水平または垂直に作成できます。

  • スピンボタンを右クリックして[コードの表示]をクリックし、デザインモードがアクティブになっていることを確認します

img25

※VBエディタ画面が表示されます。

  • 次のコードを入力してください

Private Sub SpinButton1_Change()

SpinButton1.Max = 100

SpinButton1.Min = 0

End Sub

img26

[プロパティ]ウィンドウで、セルをE2にリンクします。 [小さな変更]オプションで、間隔に1の間隔を指定すると、値は1,2,3、….100のように始まります。プロパティウィンドウの値に現在の値が表示されます。

img27

7)オプションボタンの作成

オプションボタンを描画するオプションボタンを右クリックし、[コードの表示]をクリックして、デザインモードがアクティブになっていることを確認します

img28

VBエディタ画面が表示されます次のコードを入力してください

Private Sub OptionButton1_Click()

If OptionButton1.Value = True Then Range("E4").Value = "Yes"

End Sub
Private Sub OptionButton2_Click()

If OptionButton2.Value = True Then Range("E4").Value = "No"

End Sub

img29

コードの実行後、強調表示されたセクションに「はい」または「いいえ」*が表示されます

img30

img34

8)ラベルの作成

ラベルを描く[ラベル]を右クリックして[コードの表示]をクリックし、デザインモードがアクティブになっていることを確認します

img35

VBエディター画面が表示されます。[プロパティ]ウィンドウに移動し、キャプションのテキストを変更することで、ラベルの名前を任意の名前に変更できます

img36

  • Label1の名前が「Name」に変更されます

img37

9)画像の作成

画像を描画する[画像]を右クリックして[コードの表示]をクリックし、デザインモードがアクティブになっていることを確認します

img38

VBエディター画面が表示されます。プロパティウィンドウに移動して画像をクリックすると、画像の名前を任意の名前に変更できます

img39

  • 画像を選択するための画像ダイアログボックスが表示されます

img40

  • 任意の画像を選択し、[開く]をクリックします

img41

  • 画像コントロールを使用して画像をリンクし、マクロを割り当てることができます。