Scripting.Dictionary ключи для списка VBA Excel
Я работал с VBA в Excel и недавно начал работать с объектом Scripting.Dictionary. До сегодняшнего дня я не сталкивался с какими-либо серьезными проблемами.
В основном я пытаюсь заполнить список со значениями ключа словаря, а затем добавить еще одно значение в список. Это приводит к тому, что значение добавляется не только в список, но и в словарь в качестве ключа. Я попытался скопировать значения из массива dict.keys() в совершенно отдельный массив, но проблема все еще та же. Я полагаю, что это серьезная проблема, но еще предстоит найти решение. Если у кого-то есть идеи, это было бы здорово.
Private Sub Setup_settingLst()
'Set Settings listbox items
'On Error GoTo ErrorExit
Dim list_ary() As Variant
Dim tmp As Variant
Dim i As Integer
settingLst.Clear
settingLst.Value = "-Select Setting-"
i = 0
tmp = tmp_dict.Keys()
If tmp_dict.Count > 1 Then
ReDim list_ary(0 To tmp_dict.Count)
For i = 0 To UBound(tmp)
list_ary(i) = tmp(i)
Next i
list_ary(tmp_dict.Count) = "Back"
Else
ReDim list_ary(0 To tmp_dict.Count - 1)
For i = 0 To UBound(tmp)
list_ary(i) = tmp(i)
Next i
End If
settingLst.List = list_ary
Erase list_ary
Exit Sub
ErrorExit:
End Sub
1 ответ
Это похоже на работу
Private Sub UserForm_Click()
Dim dcValues As Scripting.Dictionary
Me.ListBox1.Clear
Set dcValues = FillDictionary
Me.ListBox1.List = dcValues.Keys
Me.ListBox1.AddItem "Back"
End Sub