2016-09-13 1 views
1

У меня есть блок With, который имеет условие, чтобы увидеть, существует ли значение в выпадающем списке.Как очистить список DropDown в блоке с блоком VBA?

With wb.Sheets("BudgetLines").DropDowns("Drop Down 22") 

    For Each c In refData.Range("G7:G" & LastRow_RefData).Cells 

    Set Findo = wb.Sheets("BudgetLines").Cells.Find(c.Value, LookIn:=xlValues, _ 
         SearchOrder:=xlByRows, SearchDirection:=xlPrevious, _ 
         MatchCase:=False, SearchFormat:=False) 






    If Findo Is Nothing Then 
       Debug.Print "Name was not found." 

       'DropDowns("Drop Down 22").Clear 
      Else 
       Debug.Print "Name found in :" & Findo.Address 

       'Add title to drop down box 
       .AddItem c.Value 

      End If 

    Next 


End With 

Однако я хочу полностью удалить раскрывающийся список. Я пробовал. Ясно, но, похоже, это не так, как в блоке С.

Есть ли способ сделать это в блоке С?

+0

Вы пробовали .ClearContents? –

+0

Не много указывать на блок 'With' для вызова одного участника. – Rory

ответ

1

Вы должны функция RemoveAllItems

Dim dd As DropDown 
Set dd = wb.Sheets("BudgetLines").DropDowns("Drop Down 22") 

With dd 
    .RemoveAllItems 
End With 

трюк, чтобы увидеть это объявить переменную Dim dd As DropDown, которая позволит мне увидеть RemoveAllItems функцию, когда я ..

+2

Ах! Спасибо, подумал, что это может быть ясно или что-то! – user3565164

+0

@ user3565164, пожалуйста, подумайте о том, чтобы ответ был полезен (путем опроса) и принят (нажав серый контрольный знак ниже кнопок голосования), если это помогло вам решить вашу проблему. Вышеупомянутый комментарий говорит об этом. Это помогает сообществу сосредоточиться на других неотвеченных вопросах. – RBT

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