リストボックスにデータを登録するには複数の方法がありますが、最も基本的な方法のひとつはAddItemメソッドです。
ListBox.AddItem 登録したいデータ, 挿入する位置
2番目の引数[挿入する位置]は省略可能です。いや、本当は、最初の引数[登録したいデータ]も省略可能でなのですが、それでは空欄が挿入されてしまいます。特殊なケースを除いて、そうした使い方は、ほとんどしないでしょうから、引数[登録したいデータ]は普通指定します。
Private Sub CommandButton1_Click() ListBox1.AddItem "サンプルデータ" End Sub
Private Sub CommandButton1_Click() Dim i As Long For i = 1 To 10 ListBox1.AddItem "サンプルデータ" & i Next i ListBox1.AddItem "先頭データ", 0 End Sub
ワークシートに下図のようなデータ入力されているとき、次のコードはA列のデータをリストボックスに登録します。
Private Sub CommandButton1_Click() Dim i As Long For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row ListBox1.AddItem Cells(i, 1) Next i End Sub
ワークシート上のデータをリストボックスに登録するとき、AddItemを使うと遅いんじゃないかと勘違いしている人がいますけど、実際は高速ですよ。パソコンの性能にもよりますが、1万件程度のデータなら一瞬です。私の経験では、AddItemは遅いと勘違いしている人は、実際に試してみないで「遅いに違いない」と思い込んでいることが多いです。そりゃ、人間が1万件のデータを登録するには時間がかかるでしょうけど、やるのはパソコンですから。For Nextで1万回のAddItemを繰り返すことなんて、つべで動画を再生することに比べれば ピィー が ピィー するようなもんです。もし、数万件のセルデータを登録するようなときは、下記関連項目「リストボックスにデータを登録する(3)」の方法を使ってください。こいつは、鬼のように高速です。