2015-03-05 5 views
0

Привет Я новичок в vba excel, но я еще не нашел то, что искал в google.Множество столбцов combobox в excel vba

Я хочу, чтобы список, как это в моем поле со списком

BUS  B 
APPLE A 
SUGAR S 
JELLY J 

я, как это в прошлом

Dim listEntries(3, 2) As Variant 

listEntries(0, 0) = "A" 
listEntries(0, 1) = "Apple" 
listEntries(1, 0) = "S" 
listEntries(1, 1) = "Sugar" 
listEntries(2, 0) = "J" 
listEntries(2, 1) = "Jelly" 

Me.ComboBox1.List = listEntries 

но теперь дни данные становятся так много. Я хочу, чтобы список поступал из другого списка листов. Я нашел это в Google. но это все еще не работает

Private Sub UserForm_Initialize() 
Dim cItem As Range 
Dim ws As Worksheet 

Set ws = Worksheets("LookupLists") 

For Each cItem In ws.Range("ItemList") 
    With Me.cboItem 
    .AddItem cItem.Value 
    .List(.ListCount - 1, 1) = cItem.Offset(0, 1).Value 
    End With 
Next cItem 
End Sub 

Есть ли пропущенный в моем коде или есть другой способ, чтобы получить многократное значение из другого листа?

ответ

1

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

Private Sub UserForm_Initialize() 

Me.cboItem.List = Worksheets("LookupLists").Range("ItemList").Resize(, 2).Value 

End Sub 
+0

Спасибо Рори, но он все еще не работает на меня :( –

+0

Пожалуйста, конкретно - то, что происходит именно ? (Я использую этот тип кода все время) – Rory

+0

Большое спасибо ... да это работа. Я был опечатан, когда набирал UserForm_Initialize(), я ввел UserForms_Initialize() ... –

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