2014-01-10 226 views
0

我正在嘗試使用Excel宏創建一個簡單的窗體。此表單將用於輸入將存儲在Sheet2中的數據。一旦數據被保存,我想清除表單中的內容。除了列表框之外,我已經能夠實現大部分輸入框。下面是我試圖實現此功能的代碼。從ListBox中清除所選項目

 Dim clearlstbox As Long 

     With AOI 
     For clearlstbox = .ListCount - 1 To 0 Step -1 
     If .Selected(clearlstbox) = True Then 
     .RemoveItem clearlstbox 
     End If 
     Next clearlstbox 
     End With 

    ' 
    'For clearlstbox = AOI.ListCount - 1 To 0 Step -1 
    ' If AOI.Selected(clearlstbox) = True Then 
    '  AOI.RemoveItem (clearlstbox) 
    ' End If 
    'Next 

與這兩個代碼,它拋出一個類似的錯誤消息「運行時錯誤「2147467259(80004005)未指定的錯誤」

+2

待辦事項你想實際上從列表框中刪除選定的項目,或只是取消選擇它們? – Tmdean

+0

從列表框中取消選擇它們。 – user3175856

回答

2

要取消選中列表框中的所有項目

For clearlstbox = 0 To AOI.ListCount - 1 
    AOI.Selected(clearlstbox) = False 
Next 
+0

這很簡單..它的工作感謝 – user3175856

2

你可以通過運行此命令取消選擇列表框中的任何選定值:

Me.Listbox1.Value = "" 

其中「Listbox1」爲您的列表框中的名稱

要清除多選列表框,使用此代碼:

Me.listbox1.MultiSelect = fmMultiSelectSingle 
Me.listbox1.Value = "" 
Me.listbox1.MultiSelect = fmMultiSelectMulti 

此將其設置爲一個單一的選擇來清除它,然後再返回到一個多選你的原始功能

+0

這是否適用於多選列表框?如果是這樣比我的答案更簡單... – Tmdean

+0

@Tmdean查看修訂後的答案 – SilverShotBee

+0

有沒有辦法選擇所有項目,就像取消選擇一樣簡單?而.value =「」工作不會.BoundColumn也必須設置爲0? – FCastro

相關問題