Scripting.Dictionary ключи к списку VBA Excel

Я работал с VBA в excel и недавно начал работать с объектом Scripting.Dictionary. До сегодняшнего дня я не сталкивался с какими-либо серьезными проблемами.

В основном я пытаюсь заполнить список с помощью значений ключа словаря, а затем добавить еще одно значение в список. Это приводит к тому, что значение не только добавляется в список, но и в словарь в качестве ключа. Я попытался скопировать значения из массива dict.keys () в полностью отдельный массив, но по-прежнему имеет такую ​​же проблему. Я предполагаю, что это проблема byref, но еще предстоит выяснить решение. Если у кого-то есть идеи, которые были бы удивительными.

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 

    Это похоже на работу

     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 
    Давайте будем гением компьютера.