この記事では以下のユーザーフォームのパーツについて詳しく解説します。
- ラベル
- テキストボックス
- コンボボックス
- リストボックス
- チェックボックス
- オプションボタン
- トグルボタン
ツールボックス内の各コントロールとは?
上図の右にあるツールボックスはユーザーフォームを開くと一緒に出てきます。
ツールボックスにはユーザーフォームを作る部品があります。
上図の中央にあるのがツールボックスから部品を載せて作成するユーザーフォームです。
そして、左下にあるのが、ツールボックスにある各コントロールのプロパティを示すプロパティウィンドウになります。
ラベル
ラベルの基本的な特徴
- 表示のみ
ラベルは情報を表示するためのもので、ユーザーからの入力を受け付けることはできません。 - プロパティ設定
ラベルのプロパティを設定することで、その外観や表示内容を変更できます。例えば、Captionプロパティを使って表示されるテキストを設定します。 - スタイルの変更
フォントの種類、サイズ、色などを変更することができます。また、背景色や枠線の設定も可能です。
ラベルのサンプルコード
Label1.Caption = "test"
コードの解説
- Label1
- これはラベルコントロールの名前です。通常、ユーザーフォームに追加されたコントロールには自動的に名前が付けられます。デフォルトでは "Label1"、"Label2" などと命名されます。この名前はプロパティウィンドウで変更することもできます。
- Caption
- Caption はラベルコントロールのプロパティの一つです。このプロパティを使って、ラベルに表示されるテキストを設定します。Caption プロパティはテキストボックスやボタンなど、他の多くのコントロールにも共通して使用されるプロパティです。
- "test"
- これはラベルに表示される文字列です。Label1.Caption = "test" とすることで、ラベルに "test" というテキストが表示されます。
ラベルの主なプロパティ
テキストボックス
テキストボックス(TextBox)は、Excel VBAでユーザーフォームに追加できるコントロールの一つで、ユーザーがテキストを入力できる領域です。
テキストボックスは、ユーザーからデータを収集するためによく使われます。
テキストボックスのサンプルコード
以下の例では、フォーム上に作ったテキストボックスのオブジェクト名がTextBox1なので、それに"10"という文字列を代入するという意味になります。
.Textは、そのテキストボックスのテキスト内容を取得または設定するためのプロパティになります。
TextBox1.Value = "10"
コードの解説
- TextBox1
- これはテキストボックスコントロールの名前です。通常、ユーザーフォームに追加されたコントロールには自動的に名前が付けられます。デフォルトでは "TextBox1"、"TextBox2" などと命名されます。この名前はプロパティウィンドウで変更することもできます。
- Value
- Value はテキストボックスのプロパティの一つで、テキストボックスに表示されるテキストを取得または設定します。Value プロパティは Text プロパティと同じ役割を果たします。
- "10"
- これはテキストボックスに設定される文字列です。TextBox1.Value = "10" とすることで、テキストボックスに "10" というテキストが表示されます。
テキストボックスの主なプロパティ
コンボボックス
コンボボックス(ComboBox)は、Excel VBAでユーザーフォームに追加できるコントロールの一つで、ユーザーがリストから選択肢を選ぶことができるようにします。
コンボボックスのサンプルコード
以下の例は、ユーザーフォームが初期化されるときに、.AddItemでComboBox1に5つの項目を追加します。
Private Sub UserForm_Initialize()
' コンボボックスに項目を追加
With ComboBox1
.AddItem "りんご"
.AddItem "バナナ"
.AddItem "オレンジ"
.AddItem "ぶどう"
.AddItem "パイナップル"
End With
End Sub
コンボボックスの主なプロパティ
リストボックス
リストボックス(ListBox)は、Excel VBAでユーザーフォームに追加できるコントロールの一つで、ユーザーが複数の項目から1つまたは複数の項目を選択できるようにします。
リストボックスは、一覧表示や選択肢の提示によく使用されます。
リストボックスのサンプルコード
以下の例ではユーザーフォームが初期化されるときに、リストボックスに"りんご", "バナナ", "オレンジ", "グレープが一覧で表示されます。
Private Sub UserForm_Initialize()
Dim fruits As Variant
fruits = Array("りんご", "バナナ", "オレンジ", "グレープ")
' リストボックスに配列の要素を追加
ListBox1.List = fruits
End Sub
リストボックスの主なプロパティ
チェックボックス
チェックボックス(CheckBox)は、Excel VBAでユーザーフォームに追加できるコントロールの一つで、ユーザーがオンまたはオフの状態を選択できるようにします。
通常、オプションの有効化や無効化など、二進(Yes/No)の選択が必要な場合に使用されます。
チェックボックスのサンプルコード
以下の例では、CheckBox1のValue(値)がTrueの時にチェックが入る、Falseの時にチェックが外されるということになります。
CheckBox1.Value = True 'チェックボックスにチェックされる
CheckBox1.Value = False 'チェックボックスにチェックが外される
チェックボックスの主なプロパティ
オプションボタン
オプションボタン(OptionButton)は、Excel VBAでユーザーフォームに追加できるラジオボタンの一種です。
ユーザーが複数の選択肢から一つだけを選択できるようにします。
通常、複数のオプションの中から1つだけを選択する必要がある場合に使用されます。
オプションボタンのサンプルコード
オプションボタンについてもチェックボックスと同じで、Trueの時に選択、Falseの時に非選択、になります。
OptionButton1.Value = True
オプションボタンの主なプロパティ
トグルボタン
トグルボタン(ToggleButton)は、Excel VBAでユーザーフォームに追加できるコントロールの一つで、ユーザーがオンまたはオフの状態を切り替えることができるようにします。
通常、ボタンをクリックすることで状態が変化します。
オンとオフを切り替えると下図のようになります。
ON
OFF
トグルボタンのサンプルコード
トグルボタンもチェックボックスと同じ使い方です。
Trueの時にON、Falseの時にOFFになります。
ToggleButton1.Value = True
トグルボタンの主なプロパティ
まとめ
- ラベル
- テキスト情報を表示するためのコントロール。
- ユーザーに情報を提供するために使用される。
- 通常、ユーザーフォーム上で説明や見出しを表示するために配置される。
- テキストボックス:
- ユーザーがテキスト入力を行うためのコントロール。
- データの入力や編集を可能にする。
- ユーザーが自由にテキストを入力できる。
- コンボボックス
- ユーザーがプリセットされた選択肢から1つを選択できるコントロール。
- リストから選択する形式で、選択肢を提供する。
- ドロップダウンリストとして表示され、ユーザーが選択する。
- リストボックス
- 複数の選択肢から1つまたは複数の選択を行うためのコントロール。
- 一覧表示された選択肢からユーザーが選択できる。
- ユーザーがリストから項目を選択して操作を行う。
- チェックボックス
- オンまたはオフの状態を切り替えるためのコントロール。
- 単一の選択肢の有無を表す。
- チェックあり(オン)またはチェックなし(オフ)の状態を持つ。
- オプションボタン
- 複数の選択肢から1つだけを選択するためのコントロール。
- ラジオボタンとも呼ばれる。
- グループ内で1つのオプションを選択する。
- トグルボタン
- オンまたはオフの状態を切り替えるためのコントロール。
- クリックすることで状態がトグルされる。
- オンとオフの切り替えを行う。