2014-01-10 2 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

Do вы хотите удалить выбранные элементы из списка или просто отменить их выбор? – Tmdean

+0

отмените выбор из списка. – user3175856

ответ

2

Чтобы отменить выбор всех элементов в списке

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

Это было просто .. это сработало спасибо – user3175856

2

Вы можно отменить выбор любых выбранных значений в списке, запустив это:

Me.Listbox1.Value = "" 

, где «Listbox1» является имя вашего ListBox

Чтобы очистить MULTISELECT ListBox, используйте этот код:

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

это ставит его в один выбор, чтобы очистить его, а затем обратно на множественный для оригинальной функциональности

+0

Это работает для многозадачных списков? если так, то это проще, чем мой ответ ... – Tmdean

+0

@Tmdean см. исправленный ответ – SilverShotBee

+0

Есть ли способ выбрать все элементы так же просто, как отменить выбор? И для .value = "" для работы не будет .BoundColumn также должно быть равно 0? – FCastro

Смежные вопросы