Excel VBA

Excel VBA | おしゃれなユーザーフォームを:各コントロール解説[1/3]

2024年4月9日

本ページはプロモーションが含まれています

vbaユーザーフォームアイキャッチ画像1

この記事では以下のユーザーフォームのパーツについて詳しく解説します。

  • ラベル
  • テキストボックス
  • コンボボックス
  • リストボックス
  • チェックボックス
  • オプションボタン
  • トグルボタン

ツールボックス内の各コントロールとは?

vbaユーザーフォーム全体画像

上図の右にあるツールボックスユーザーフォームを開くと一緒に出てきます。
ツールボックスにはユーザーフォームを作る部品があります。
上図の中央にあるのがツールボックスから部品を載せて作成するユーザーフォームです。
そして、左下にあるのが、ツールボックスにある各コントロールのプロパティを示すプロパティウィンドウになります。

ラベル

vbaユーザーフォーラベル画像

ラベルの基本的な特徴

  • 表示のみ
    ラベルは情報を表示するためのもので、ユーザーからの入力を受け付けることはできません。
  • プロパティ設定
    ラベルのプロパティを設定することで、その外観や表示内容を変更できます。例えば、Captionプロパティを使って表示されるテキストを設定します。
  • スタイルの変更
    フォントの種類、サイズ、色などを変更することができます。また、背景色や枠線の設定も可能です。

ラベルのサンプルコード

Label1.Caption = "test"

コードの解説

  • Label1
    • これはラベルコントロールの名前です。通常、ユーザーフォームに追加されたコントロールには自動的に名前が付けられます。デフォルトでは "Label1"、"Label2" などと命名されます。この名前はプロパティウィンドウで変更することもできます。
  • Caption
    • Caption はラベルコントロールのプロパティの一つです。このプロパティを使って、ラベルに表示されるテキストを設定します。Caption プロパティはテキストボックスやボタンなど、他の多くのコントロールにも共通して使用されるプロパティです。
  • "test"
    • これはラベルに表示される文字列です。Label1.Caption = "test" とすることで、ラベルに "test" というテキストが表示されます。

ラベルの主なプロパティ

  1. Caption(キャプション): ラベルに表示されるテキストを指定します。
  2. (オブジェクト名): ラベルの識別名を指定します。VBAコード内でラベルを参照する際に使用されます。
  3. Visible(可視性): ラベルが表示されるかどうかを指定します。True(表示)またはFalse(非表示)の値を取ります。
  4. Enabled(有効性): ラベルが有効か無効かを指定します。True(有効)またはFalse(無効)の値を取ります。
  5. Font(フォント): ラベルのフォントの種類、サイズ、スタイルを指定します。
  6. ForeColor(前景色): ラベルのテキストの色を指定します。
  7. BackColor(背景色): ラベルの背景色を指定します。
  8. AutoSize(自動サイズ調整): Trueに設定すると、ラベルのサイズが自動的にテキストに合わせて調整されます。
  9. BorderStyle(境界線スタイル): ラベルの境界線のスタイルを指定します(Single、Noneなど)。
  10. MousePointer(マウスポインター): マウスがラベルの上にあるときのポインターの形状を指定します。
  11. SpecialEffect(特殊効果): ラベルの特殊効果を指定します(Flat、Raisedなど)。

テキストボックス

vbaユーザーフォームテキストボックス画像

テキストボックス(TextBox)は、Excel VBAでユーザーフォームに追加できるコントロールの一つで、ユーザーがテキストを入力できる領域です。
テキストボックスは、ユーザーからデータを収集するためによく使われます。

テキストボックスのサンプルコード

以下の例では、フォーム上に作ったテキストボックスのオブジェクト名がTextBox1なので、それに"10"という文字列を代入するという意味になります。
.Textは、そのテキストボックスのテキスト内容を取得または設定するためのプロパティになります。

TextBox1.Value = "10"

コードの解説

  • TextBox1
    • これはテキストボックスコントロールの名前です。通常、ユーザーフォームに追加されたコントロールには自動的に名前が付けられます。デフォルトでは "TextBox1"、"TextBox2" などと命名されます。この名前はプロパティウィンドウで変更することもできます。
  • Value
    • Value はテキストボックスのプロパティの一つで、テキストボックスに表示されるテキストを取得または設定します。Value プロパティは Text プロパティと同じ役割を果たします。
  • "10"
    • これはテキストボックスに設定される文字列です。TextBox1.Value = "10" とすることで、テキストボックスに "10" というテキストが表示されます。

テキストボックスの主なプロパティ

  1. Text(テキスト): テキストボックスに表示されるテキストを指定します。また、ユーザーが入力したテキストを取得するためにも使用されます。
  2. (オブジェクト名): テキストボックスの識別名を指定します。VBAコード内でテキストボックスを参照する際に使用されます。
  3. Visible(可視性): テキストボックスが表示されるかどうかを指定します。True(表示)またはFalse(非表示)の値を取ります。
  4. Enabled(有効性): テキストボックスが有効か無効かを指定します。True(有効)またはFalse(無効)の値を取ります。
  5. Font(フォント): テキストボックスのフォントの種類、サイズ、スタイルを指定します。
  6. ForeColor(前景色): テキストボックスのテキストの色を指定します。
  7. BackColor(背景色): テキストボックスの背景色を指定します。
  8. BorderStyle(境界線スタイル): テキストボックスの境界線のスタイルを指定します(Single、Noneなど)。
  9. MaxLength(最大長): テキストボックスに入力できる最大文字数を指定します。
  10. PasswordChar(パスワード文字): テキストボックスに入力されたテキストをマスクするための文字を指定します。通常は、パスワードの入力に使用されます。
  11. AutoSize(自動サイズ調整): Trueに設定すると、テキストボックスのサイズが自動的にテキストに合わせて調整されます。
  12. MultiLine(複数行入力): Trueに設定すると、テキストボックスが複数行入力モードになります

コンボボックス

vbaユーザーフォームコンボボックス画像

コンボボックス(ComboBox)は、Excel VBAでユーザーフォームに追加できるコントロールの一つで、ユーザーがリストから選択肢を選ぶことができるようにします。

コンボボックスのサンプルコード

以下の例は、ユーザーフォームが初期化されるときに、.AddItemComboBox1に5つの項目を追加します。

Private Sub UserForm_Initialize()
    ' コンボボックスに項目を追加
    With ComboBox1
        .AddItem "りんご"
        .AddItem "バナナ"
        .AddItem "オレンジ"
        .AddItem "ぶどう"
        .AddItem "パイナップル"
    End With
End Sub

コンボボックスの主なプロパティ

  1. (オブジェクト名): コンボボックスの識別名を指定します。VBAコード内でコンボボックスを参照する際に使用されます。
  2. Text(テキスト): コンボボックスに選択されている項目のテキストを指定します。また、ユーザーが入力したテキストを取得するためにも使用されます。
  3. Visible(可視性): コンボボックスが表示されるかどうかを指定します。True(表示)またはFalse(非表示)の値を取ります。
  4. Enabled(有効性): コンボボックスが有効か無効かを指定します。True(有効)またはFalse(無効)の値を取ります。
  5. Font(フォント): コンボボックスのフォントの種類、サイズ、スタイルを指定します。
  6. ForeColor(前景色): コンボボックスのテキストの色を指定します。
  7. BackColor(背景色): コンボボックスの背景色を指定します。
  8. BorderStyle(境界線スタイル): コンボボックスの境界線のスタイルを指定します(Single、Noneなど)。

リストボックス

vbaユーザーフォームリストボックス画像

リストボックス(ListBox)は、Excel VBAでユーザーフォームに追加できるコントロールの一つで、ユーザーが複数の項目から1つまたは複数の項目を選択できるようにします。
リストボックスは、一覧表示や選択肢の提示によく使用されます。

リストボックスのサンプルコード

以下の例ではユーザーフォームが初期化されるときに、リストボックスに"りんご", "バナナ", "オレンジ", "グレープが一覧で表示されます。

Private Sub UserForm_Initialize()
    Dim fruits As Variant
    fruits = Array("りんご", "バナナ", "オレンジ", "グレープ")
    
    ' リストボックスに配列の要素を追加
    ListBox1.List = fruits
End Sub

リストボックスの主なプロパティ

  1. (オブジェクト名): リストボックスの識別名を指定します。VBAコード内でリストボックスを参照する際に使用されます。
  2. Value(値): リストボックスで選択された項目の値を指定します。通常、複数の項目を選択できる場合に使用されます。
  3. ColumnCount(列数): リストボックスの列数を指定します。通常は1ですが、複数の列を持つリストボックスを作成する場合に使用されます。
  4. ColumnWidths(列幅): 各列の幅を指定します。複数の列を持つリストボックスの場合に使用されます。
  5. BoundColumn(バウンド列): リストボックスで選択された項目の値が取得される列を指定します。
  6. MultiSelect(複数選択): リストボックスで複数の項目を選択できるかどうかを指定します。

チェックボックス

vbaユーザーフォームチェックボックス画像

チェックボックス(CheckBox)は、Excel VBAでユーザーフォームに追加できるコントロールの一つで、ユーザーがオンまたはオフの状態を選択できるようにします。
通常、オプションの有効化や無効化など、二進(Yes/No)の選択が必要な場合に使用されます。

チェックボックスのサンプルコード

以下の例では、CheckBox1のValue(値)がTrueの時にチェックが入る、Falseの時にチェックが外されるということになります。

CheckBox1.Value = True 'チェックボックスにチェックされる
CheckBox1.Value = False 'チェックボックスにチェックが外される

チェックボックスの主なプロパティ

  1. (オブジェクト名): チェックボックスの識別名を指定します。VBAコード内でチェックボックスを参照する際に使用されます。
  2. Caption(キャプション): チェックボックスに表示されるテキストを指定します。
  3. Value(値): チェックボックスの値を指定します。通常、True(チェックされている)またはFalse(チェックされていない)の値を取ります。
  4. Enabled(有効性): チェックボックスが有効か無効かを指定します。True(有効)またはFalse(無効)の値を取ります。
  5. Visible(可視性): チェックボックスが表示されるかどうかを指定します。True(表示)またはFalse(非表示)の値を取ります。
  6. ForeColor(前景色): チェックボックスのテキストの色を指定します。
  7. BackColor(背景色): チェックボックスの背景色を指定します。
  8. Font(フォント): チェックボックスのフォントの種類、サイズ、スタイルを指定します。
  9. AutoSize(自動サイズ調整): Trueに設定すると、チェックボックスのサイズが自動的にテキストに合わせて調整されます。

オプションボタン

vbaユーザーフォームオプションボタン画像

オプションボタン(OptionButton)は、Excel VBAでユーザーフォームに追加できるラジオボタンの一種です。
ユーザーが複数の選択肢から一つだけを選択できるようにします。
通常、複数のオプションの中から1つだけを選択する必要がある場合に使用されます。

オプションボタンのサンプルコード

オプションボタンについてもチェックボックスと同じで、Trueの時に選択、Falseの時に非選択、になります。

OptionButton1.Value = True

オプションボタンの主なプロパティ

  1. (オブジェクト名): オプションボタンの識別名を指定します。VBAコード内でオプションボタンを参照する際に使用されます。
  2. Caption(キャプション): オプションボタンに表示されるテキストを指定します。
  3. Value(値): オプションボタンの値を指定します。通常、True(選択されている)またはFalse(選択されていない)の値を取ります。
  4. Enabled(有効性): オプションボタンが有効か無効かを指定します。True(有効)またはFalse(無効)の値を取ります。
  5. Visible(可視性): オプションボタンが表示されるかどうかを指定します。True(表示)またはFalse(非表示)の値を取ります。
  6. ForeColor(前景色): オプションボタンのテキストの色を指定します。
  7. BackColor(背景色): オプションボタンの背景色を指定します。
  8. Font(フォント): オプションボタンのフォントの種類、サイズ、スタイルを指定します。
  9. AutoSize(自動サイズ調整): Trueに設定すると、オプションボタンのサイズが自動的にテキストに合わせて調整されます。

トグルボタン

vbaユーザーフォームトグルボタン画像

トグルボタン(ToggleButton)は、Excel VBAでユーザーフォームに追加できるコントロールの一つで、ユーザーがオンまたはオフの状態を切り替えることができるようにします。
通常、ボタンをクリックすることで状態が変化します。

オンとオフを切り替えると下図のようになります。

ON

OFF

vbaユーザーフォームトグルボタンON画像
vbaユーザーフォームトグルボタンOFF画像

トグルボタンのサンプルコード

トグルボタンもチェックボックスと同じ使い方です。
Trueの時にON、Falseの時にOFFになります。

ToggleButton1.Value = True

トグルボタンの主なプロパティ

  1. (オブジェクト名): トグルボタンの識別名を指定します。VBAコード内でトグルボタンを参照する際に使用されます。
  2. Caption(キャプション): トグルボタンに表示されるテキストを指定します。
  3. Value(値): トグルボタンの値を指定します。通常、True(選択されている)またはFalse(選択されていない)の値を取ります。
  4. Enabled(有効性): トグルボタンが有効か無効かを指定します。True(有効)またはFalse(無効)の値を取ります。
  5. Visible(可視性): トグルボタンが表示されるかどうかを指定します。True(表示)またはFalse(非表示)の値を取ります。
  6. ForeColor(前景色): トグルボタンのテキストの色を指定します。
  7. BackColor(背景色): トグルボタンの背景色を指定します。
  8. Font(フォント): トグルボタンのフォントの種類、サイズ、スタイルを指定します。
  9. AutoSize(自動サイズ調整): Trueに設定すると、トグルボタンのサイズが自動的にテキストに合わせて調整されます。

まとめ

  • ラベル
    • テキスト情報を表示するためのコントロール。
    • ユーザーに情報を提供するために使用される。
    • 通常、ユーザーフォーム上で説明や見出しを表示するために配置される。
  • テキストボックス:
    • ユーザーがテキスト入力を行うためのコントロール。
    • データの入力や編集を可能にする。
    • ユーザーが自由にテキストを入力できる。
  • コンボボックス
    • ユーザーがプリセットされた選択肢から1つを選択できるコントロール。
    • リストから選択する形式で、選択肢を提供する。
    • ドロップダウンリストとして表示され、ユーザーが選択する。
  • リストボックス
    • 複数の選択肢から1つまたは複数の選択を行うためのコントロール。
    • 一覧表示された選択肢からユーザーが選択できる。
    • ユーザーがリストから項目を選択して操作を行う。
  • チェックボックス
    • オンまたはオフの状態を切り替えるためのコントロール。
    • 単一の選択肢の有無を表す。
    • チェックあり(オン)またはチェックなし(オフ)の状態を持つ。
  • オプションボタン
    • 複数の選択肢から1つだけを選択するためのコントロール。
    • ラジオボタンとも呼ばれる。
    • グループ内で1つのオプションを選択する。
  • トグルボタン
    • オンまたはオフの状態を切り替えるためのコントロール。
    • クリックすることで状態がトグルされる。
    • オンとオフの切り替えを行う。

Follow me!

-Excel VBA
-,

PAGE TOP