Microsoft Excel VBA - ユーザーフォームのリストボックスにアイテムを登録する方法

◆概要


Listプロパティは、リストボックスまたはコンボボックスのリスト項目を取得または設定するプロパテイです。リスト項目のインデックス番号は0から始まるため、[row]にはリスト項目の行番号-1の整数値を指定し、[column]にはリスト項目の列番号-1の整数値を指定します。たとえば、リスト項目の1行目の1列目を指定する場合は、[row]に0,[column]に0を指定します。表示内容は、バリアント型(Variant)の値を使用します。


 リストボックス又はコンボボックスに表示するリスト項目を追加するにはAddItemメソッドを使い、項目を削除するにはRemoveItemメソッドを使います。リスト項目が複数の場合は、Listプロパティを使うと、リスト項目の内容を設定することができます。


次の例では2列にアイテムを追加しています。

Private Sub UserForm_Initialize()
   ' リストボックスにアイテムを登録する
   Dim i As Integer
   i = 4
   With ListBox1
       .ColumnCount = 2 ' 2列で表示
       For i = 1 To i
           .AddItem
       Next i
       .List(0, 0) = "0001"
       .List(0, 1) = "中添康弘"
       .List(1, 0) = "0002"
       .List(1, 1) = "小泉一太郎"
       .List(2, 0) = "0003"
       .List(2, 1) = "ミスター福田"
       .List(3, 0) = "0004"
       .List(3, 1) = "麻生次郎"
   End With
End Sub

◆実行結果

実行結果

◆セルに入力された項目を追加する

セルに入力された複数の項目を追加するには、For 〜 Nextステートメントを利用して次の用にします。

この例では、実行結果のようにセルに項目が入力されているもとのします。

Private Sub UserForm_Initialize()
   Dim strText As String
   Dim i As Integer
   Worksheets("Sheet1").Activate
   
   For i = 2 To Cells(2, 1).End(xlDown).Row
       strText = ActiveSheet.Cells(i, 1).Value & _
              " : " & ActiveSheet.Cells(i, 2).Value
       ' リストボックスにアイテムを登録する
       ListBox1.AddItem strText
   Next i
End Sub

◆実行結果


実行結果


▼ページトップへ