2016-07-31 59 views
-1

我發現了很多類似於我需要的東西,但沒有任何工作。此代碼似乎是最接近我需要的,但我得到錯誤-2147024809(80070057),無效的參數。我已確保這兩個列表框的行源都是空白的。ms excel vba宏userform從列表框1中刪除項目,如果它在列表框2

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

請幫忙!謝謝!

+0

項目必須是「項目編號或列表項文本」。 https://msdn.microsoft.com/en-us/library/office/ff194439.aspx – Slai

回答

0

如果列表框'RowSource property is set;你會收到一個未指定的錯誤。 -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 
+0

謝謝,@Thomas Inzina!完美的作品! –

+0

@JoePatrick感謝您的支票! – 2016-08-02 04:08:06