HOME > 即効テクニック > Excel VBA > ユーザーフォーム関連のテクニック > リストボックスのリストから行を削除する

即効テクニック

ユーザーフォーム関連のテクニック

リストボックスのリストから行を削除する

(Excel 97)
リストボックスのリストから行を削除するには、RemoveItemメソッドを使います。
サンプルマクロでは、Selectedプロパティでリストボックスの現在の選択状況を取得して、選択されている行を削除しています。
フォームにリストボックス「 ListBox1」とコマンドボタン「CommandButton1」を配置して下さい。フォームが開かれる時に発生するイベント「Initialize」では、リストボックスのリストにAddItemメソッドを使って項目を追加しています。
コマンドボタンがクリックされた時に発生するイベント「Click」では、リストボックスで選択されている行を削除しています。フォームを表示して、リストボックスの項目を選択後、コマンドボタンをクリックして確認してください。
Private Sub UserForm_Initialize()
    ListBox1.AddItem ("AAA")
    ListBox1.AddItem ("CCC")
    ListBox1.AddItem ("DDD")
End Sub

Private Sub CommandButton1_Click()
    Dim i As Integer
     
    For i = ListBox1.ListCount - 1 To 0 Step -1
        If ListBox1.Selected(i) Then
            ListBox1.RemoveItem (i)
            Exit For
        End If
    Next i
End Sub