2012-05-25 6 views
1

Я пытаюсь загрузить поле со списком с последним элементом в словаре. Я пытаюсь сделать что-то вроде этого ComboBox1.Value = NodeColl.Item(NodeColl.Count), которое будет работать с коллекцией, но делает что-то странное при использовании словаря.Выбор позиции словаря по индексу # с использованием VBA в Excel

+0

не пробовал вещи со словарем, но, возможно, это массив с нулевым начальным значением - если да, то последний пункт '.count -1' – SeanC

ответ

6

Поведение отличается от того, что словарь позволяет использовать цифровые клавиши.

Звонок .Item Фактически добавляет элемент с заданным ключом;

NodeColl.Item(NodeColl.Count) 

Добавляет новый элемент без значения & клавиши, соответствующей графы.

Чтобы получить доступ к порядковым элемент использовать .Items (который представляет собой массив элементов)

firstItem = NodeColl.Items(0) 
lastItem = NodeColl.Items(NodeColl.Count - 1) 
+0

Спасибо! В качестве продолжения, как я могу получить ключ от определенного элемента, к которому обращается вышеупомянутый метод? – Ehudz

+1

Yep via .keys(); «msgbox» для элемента 2 - «& NodeColl.keys (1) &« value is »& NodeColl.items (1)' –

+0

Спасибо! В качестве другого последующего (последнее, что я обещаю!), Как я получу элемент # определенного ключа в словаре? – Ehudz

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