リストボックスの使い方
2025年06月26日
リストボックスでデータ一覧を表示する
リストボックスを使用すると下記のようにデータを一覧として表示できます。
リストボックスでデータ格納方法
1、ユーザーフォームを作成し、リストボックスを追加します。
2、追加したリストボックスのオブジェクト名を任意の名前に変更します。
3、ユーザーフォーム上でF7キーを押してエディターを開き、Initializeを追加します。
4、Initializeの処理に下記のコードを追加します。
(「リストボックスオブジェクト.AddItem "格納するデータ"」とすることでリストボックスにデータを追加できます)
Private Sub UserForm_Initialize()
With Me.ListBox1
.AddItem "リンゴ"
.AddItem "バナナ"
.AddItem "イチゴ"
.AddItem "みかん"
.AddItem "パイナップル"
End With
End Sub
5、下記のユーザーフォームを表示させるコードを実行させると、データが格納されたリストが表示されます。
※下記のコードを標準モジュールに記述してください
Sub ユーザーフォーム表示()
UserForm1.Show
End Sub
シート内のデータをリストボックスに表示させる
下記のように、シート内のデータをリストボックスで表示させる方法をご紹介いたします

先ほどのInitializeの処理に下記のコードを記述します。
Private Sub UserForm_Initialize()
Dim i As Long
Dim LastRow As Long
'A列の最終行を取得します
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
'1行目から最終行まで繰り返し、AddItemでセルの値を格納していきます
For i = 1 To LastRow
Me.ListBox1.AddItem Cells(i, "A").Value
Next i
End Sub
ユーザーフォームを表示させると、シート内のデータがリストボックスに表示されます。

リストボックス内のデータを削除する
リストボックスで選択された項目を削除する方法をご紹介します。
これからご紹介する方法は、選択するデータが単一の場合に使用できます。
(リストボックスのプロパティ「MultiSelect」が「fmMultiSelectSingle」となっている場合のみ使用できます)
1、ユーザーフォームにボタンを配置します。
2、配置したボタンの名前を「削除」に変更し、ボタンの上でダブルクリックを行いエディタに移動します。

3、ボタンのクリックイベントに下記のコードを記述します。
Private Sub CommandButton1_Click()
'インデックスが-1の場合はリストボックスの項目が選択されていないため、Elseの処理に入れます
If Me.ListBox1.ListIndex <> -1 Then
Me.ListBox1.RemoveItem Me.ListBox1.ListIndex
Else
MsgBox "削除する項目が選択されていません"
End If
End Sub
4、ユーザーフォームを起動し、作成した「削除」ボタンをクリックすると、選択された項目が削除できます。
リストボックス内のデータを更新する
リストボックスで選択された項目を更新する方法をご紹介します。
これからご紹介する方法も削除時同様、選択するデータが単一の場合に使用できます。
1、ユーザーフォームにボタンを配置します。

2、配置したボタンの名前を「更新」に変更し、ボタンの上でダブルクリックを行いエディタに移動します。

3、ボタンのクリックイベントに下記のコードを記述します。
Private Sub CommandButton2_Click()
If Me.ListBox1.ListIndex = -1 Then
MsgBox "更新する項目が選択されていません"
Exit Sub
End If
'InputBoxで更新する値をユーザーに入力してもらいます。
Dim InputBoxStr As String
InputBoxStr = InputBox("更新する値を入力してください", "リストボックス値更新", Me.ListBox1.List(Me.ListBox1.ListIndex))
'InputBoxがキャンセル又は空白の場合は処理を終了させます。
If InputBoxStr = "" Then
MsgBox "キャンセルされました"
Exit Sub
End If
'リストの値を更新します
Me.ListBox1.List(Me.ListBox1.ListIndex) = InputBoxStr
End Sub
InputBoxの使用方法については、こちらの記事をご参考ください。
4、ユーザーフォームを起動し、項目を選択して「更新」ボタンをクリックすると、InputBoxが表示されます。
「OK」をクリックすると、変更がリストボックスに反映されます。

他のユーザーフォーム編
- 1. ユーザーフォーム編
- 2. コンボボックスの使い方
- 3. チェックボックスの使い方