教えて!ExcelVBA!

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

【ExcelVBA フォーム&コントロール】リストボックスに行単位でデータを追加する方法を教えて!

構文

構文は以下の通りです。

リストボックス名.AddItem "文字列"

解説

AddItemメソッドは、リストボックスに新しいデータを1行追加するものです。"文字列"の部分は、実際に表示したいデータを記述します。この構文を利用することで、動的にリストボックスにデータを追加できます。

使い方

具体的な使い方を紹介します。

Private Sub データを追加_Click()
    ListBox1.AddItem "りんご"
    ListBox1.AddItem "ばなな"
    ListBox1.AddItem "いちご"
End Sub

この例では、ボタンをクリックすると、リストボックスに"りんご"、"ばなな"、"いちご"の3つのデータが追加されます。

プログラミング例

以下に、プログラミング例を紹介します。

(例1)セルの値をリストボックスに追加する

Private Sub セルのデータを追加_Click()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1") ' シート名を適切なものに変更
    Dim lastRow As Long
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    For i = 1 To lastRow
        ListBox1.AddItem ws.Cells(i, 1).Value
    Next i
End Sub

この例では、指定したシート(ここでは"Sheet1")のA列にあるデータをリストボックスに追加します。

(例2)ユーザーからの入力をリストボックスに追加する

Private Sub ユーザー入力を追加_Click()
    Dim userInput As String
    userInput = InputBox("新しいデータを入力してください:")
    If userInput <> "" Then
        ListBox1.AddItem userInput
    End If
End Sub

この例では、ユーザーに入力を促し、その入力をリストボックスに追加します。

(例3)動的なデータ生成と追加

Private Sub 動的データ生成_Click()
    For i = 1 To 10
        ListBox1.AddItem "データ" & i
    Next i
End Sub

ここでは、ループを使用して1から10までのデータを生成し、それらをリストボックスに追加しています。

まとめ

リストボックスに行単位でデータを追加するには、AddItemメソッドを使用します。AddItemメソッドは、追加するデータを行単位で制御できるため、様々なタイミングでリストボックスのデータを追加したいときに便利です。是非活用してください。