VBAでユーザーフォムのコンボボックスのリストに値を追加する


ユーザーフォムのコンボボックス

ユーザーフォム、コンボボックスを作成する。
(今回ボタンは使いませんがなんとなくつけてあるだけです。)
ID列のデータをすべてコンボボックスに追加します。
  

Private Sub UserForm_Initialize()'コンボボックスのリストに作成シート名を追加する
    Dim IDCol As Long 'IDの列番号を格納する変数
    IDCol = WorksheetFunction.Match("ID", Master.Rows(1), 0) 'Match関数で列数格納
    Dim LastRow As Long '最終行を格納する変数
    LastRow = Master.Cells(Rows.Count, IDCol).End(xlUp).Row '最終行格納
    Dim i As Long

    For i = 2 To LastRow 'コンボボックスにIDをすべて追加する
        cmbID.AddItem Master.Cells(i, IDCol).Value
    Next i

End Sub

実行結果

Initializeイベントに追加しておくことで
データが増えても毎回すべて追加されます。

ワタシ流こだわり

ユーザーフォムのコントロールの名前付けは必ず以下のようなルールで
フォーム:frm~
コンボボックス:cmb~
ボタン:btn~