2015-11-23 2 views
0

Я создал коллекцию (CollWk) в макросе. Эта коллекция содержит число, которое существует на определенном листе. Я хотел бы поместить эту коллекцию в combobox (или выпадающий список), чтобы пользователь мог выбрать номер недели.Collection to combobox

Это то, что я до сих пор

Dim CollWk As New Collection 

For i = wkLow To wkHigh 
    CollWk.Add i 
Next 

это был я создать коллекцию. Currnetly лист «ExtraData» активен Поле со списком на листе «StartSheet»

Я пытался сделать combobox1.additem я в цикл просто добавить элементы, но doens't работу

когда я пытаюсь добавить что-то выпадающий список, как

Startsheet.ComboBox1.Additem «Здравствуйте»

он не будет работать

ответ

0

Вы можете просто цикл по коллекции и добавить каждый элемент в ComboBox как это:

Sub Test_Henk_Schins() 

Dim CollWk As Collection 
Dim aWeek 

'With UserForm1.ComboBox1 
With Sheets("SheetName").ComboBox1 
    .Clear 
    For Each aWeek In CollWk 
     .AddItem aWeek 
    Next aWeek 
End With 

End Sub 
+0

Я получаю ошибку 424, объект requierd. У меня есть aWeek как что-то? –

+0

На какой линии? вы можете объявить 'aWeek' того же типа, что объекты, которые находятся в вашей коллекции (я не знаю, поэтому я не уточнил). Вы изменили «UserForm1» и «ComboBox1» в соответствии с именами UserForm и ComboBox? – R3uK

+0

Что еще более важно, является ли поле со списком в пользовательской форме или в excel? Если в excel, что вы использовали для его создания (в каком меню мы можем узнать, является ли это ActiveX, Control, ...) – R3uK