教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAでフォーム内のリストボックスに表示するリストのセル範囲を設定する方法

構文

構文は以下の通りです。

リストボックス名.RowSource = "シート名!範囲"

解説

リストボックス名は、フォーム内のリストボックスの名前です。RowSourceは、リストボックスに表示されるセル範囲を設定します。"シート名!範囲"には、リストにしたいセル範囲が含まれます。例えば、シート名が「Sheet1」で、範囲が「A1」であれば、"Sheet1!A1:A10"となります。

プログラミング例

具体的なプログラミング例を紹介します。

Private Sub UserForm_Initialize()
    ' リストボックスにセル範囲を設定
    UserForm1.ListBox1.RowSource = "Sheet1!A1:A10"
    ' 解説: 「Sheet1」の「A1:A10」の範囲がリストボックスに表示される
End Sub

上記のプログラムでは、フォームが初期化されたときに、Sheet1のA1:A10の範囲がリストボックスに表示される設定を行っています。ユーザーフォームのInitializeイベントでRowSourceを使い、リストボックスに表示するセル範囲を指定しています。

まとめ

リストボックスにセル範囲を表示するためには、RowSourceを使ってセルの範囲を指定します。"シート名!範囲"の形式で範囲を指定することで、シート上のデータをリストボックスに表示することができます。フォームが表示されると、自動的にリストボックスに指定したセル範囲が表示されます。