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
Другие вопросы по тегам