教えて!ExcelVBA!

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

ExcelVBAでフォーム内のリストボックスに行単位でデータを追加する方法

構文

構文は以下の通りです。

リストボックス名.AddItem アイテム

解説

リストボックスに行単位でデータを追加するには、AddItemを使います。これは、リストボックスに新しい項目(行)を追加するためのものです。例えば、セル範囲や配列のデータを1行ずつリストボックスに追加したい場合、この方法が使われます。

プログラミング例

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

Private Sub ユーザーフォーム表示()
    ' フォームの表示
    Me.Show
    ' データがある範囲を取得
    Dim データ範囲 As Range
    Set データ範囲 = シート1.Range("A1:A5")
    ' データをリストボックスに行単位で追加
    Dim セル As Range
    For Each セル In データ範囲
        リストボックス1.AddItem セル.Value
    Next
End Sub

上記のプログラムは、Set データ範囲 = シート1.Range("A1:A5")で、シート1のA1からA5までのデータ範囲を変数データ範囲に設定しています。For Each セル In データ範囲では、データ範囲の各セルに対してループを回し、そのセルの値をリストボックスに追加しています。リストボックス1.AddItem セル.Valueで、リストボックスにセルの値を1行ずつ追加します。

まとめ

リストボックスに行単位でデータを追加するには、ListBox.AddItemを使用します。Excelシートのデータを簡単にフォームのリストボックスに表示することが可能です。