Excel VBA コンボボックスは、ユーザーフォームやワークシートに配置できるコントロールで、リストから1つの選択肢を選ぶことができるドロップダウンリストです。ユーザーが入力を手助けするために、選択肢を提供する目的で使用されます。具体的な使い方や、注意点やサンプルコードを紹介します。
以下のようなシーンで利用されます。
・データ入力フォームで、選択肢を絞り込む必要がある
・特定のカテゴリやオプションを選ばせたい
・フィルタリングや検索機能を提供する際に、条件を選択させたい
1.ユーザーフォームに「コンボボックス」を配置します。ワークシートに配置する場合は「ActiveXコントロール」の「コンボボックス」を使用します。
2.AddItem メソッドを使って、コンボボックスに選択肢を追加します。
3.ユーザーが選んだ値を取得するには、コンボボックスのValueプロパティを使います。
・コンボボックスに入れる選択肢の数は、適度に絞り込むのが望ましいです。
・外部のデータ範囲をソースとする場合、データ範囲が変更されたときにコンボボックスの内容も更新する必要があります。
Sub コンボボックスの使用例()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
' ワークシートにコンボボックスを追加
Dim cb As OLEObject
Set cb = ws.OLEObjects.Add(ClassType:="Forms.ComboBox.1", _
Left:=100, Top:=50, Width:=100, Height:=20)
' コンボボックスにアイテムを追加
With cb.Object
.AddItem "選択肢1"
.AddItem "選択肢2"
.AddItem "選択肢3"
End With
End Sub
コンボボックスは、ユーザーがリストから選択できるようにするための便利なコントロールです。選択肢の設定や選択値の取得が簡単にできるので、データ入力フォームやオプション選択の場面で効果的に活用できます。
Excel VBAで自動化するコードのベースを習得したい方におすすめ!
VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。
ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。
ExcelVBAエキスパートスタンダード
ExcelVBAの開発を仕事にする人が対象の問題集です。
Excel VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。