コンボボックスとリストボックスについて
Excel VBA ユーザーフォームのコンボボックスとリストボックスについて
コンボボックスとリストボックスは、どちらもユーザーフォームでよく使用されるコントロールです。
ユーザーがリストから項目を選択できるようにするのに役立ちます。
コンボボックスは、テキストボックスとリストボックスが組み合わさったものです。
ユーザーは、テキストボックスに直接入力するか、リストから項目を選択することができます。
リストボックスは、ユーザーがリストから項目を選択できるコントロールです。
テキストボックスは含まれていません。
コンボボックスとリストボックスの主な違い
項目 コンボボックス リストボックス
テキスト入力 可能 不可
複数選択 不可 可
(一部のコントロールのみ)
ドロップダウンリスト あり なし
コンボボックスとリストボックスの使用方法
コンボボックスとリストボックスを使用するには、以下の手順を行います。
ユーザーフォームにコンボボックスまたはリストボックスを配置します。
リストに項目を追加します。 これは、コードまたはデザインモードで行うことができます。
(コンボボックスの場合) テキストボックスのデフォルト値を設定します。
イベントハンドラを作成して、ユーザーがアイテムを選択したときに実行するコードを記述します。
コンボボックスとリストボックスの例
以下のコード例は、ユーザーフォームにコンボボックスとリストボックスを追加し、リストに項目を追加する方法を示しています。
VBA
' コンボボックスを追加する
With Me.ComboBox1
.Top = 10
.Left = 10
.Width = 150
.AddItem "アイテム 1"
.AddItem "アイテム 2"
.AddItem "アイテム 3"
.Text = "アイテム 1" ' デフォルト値を設定
End With
' リストボックスを追加する
With Me.ListBox1
.Top = 50
.Left = 10
.Width = 150
.AddItem "アイテム 1"
.AddItem "アイテム 2"
.AddItem "アイテム 3"
End With
コードは注意してご使用ください。
イベントハンドラ
ユーザーがコンボボックスまたはリストボックスから項目を選択したときに、イベントハンドラが実行されます。
イベントハンドラを使用して、選択された項目に基づいてアクションを実行できます。
以下のコード例は、コンボボックスで項目が選択されたときにメッセージボックスを表示するイベントハンドラを示しています。
VBA
Private Sub ComboBox1_Change()
MsgBox "選択されたアイテム: " & ComboBox1.Text
End Sub
コードは注意してご使用ください。