ms excel vba宏userform从listbox1中删除项目,如果它在listbox2中

时间:2016-07-31 22:28:00

标签: excel-vba vba excel

我发现很多类似于我需要的东西,但没有任何效果。这段代码似乎最接近我的需要,但我收到错误-2147024809(80070057),参数无效。我确保两个列表框的rowsource都是空白的。

For Each Item In ListBox2.List
ListBox1.RemoveItem (Item)
Next

请帮忙!谢谢!

1 个答案:

答案 0 :(得分:0)

如果设置了列表框' RowSource 属性;你会收到一个未指定的错误。 -2147467259当您尝试删除项目时。

Private Sub CommandButton1_Click()
    Dim i As Integer, j As Integer

    For i = 0 To ListBox2.ListCount - 1
        For j = ListBox1.ListCount - 1 To 0 Step -1

            If ListBox2.List(i) = ListBox1.List(j) Then
                ListBox1.RemoveItem j
            End If
        Next

    Next

End Sub

Private Sub UserForm_Initialize()

    ListBox1.List = Range("List1").Value

    ListBox2.AddItem 1
    ListBox2.AddItem 2
    ListBox2.AddItem 6
    ListBox2.AddItem 7


End Sub