/ / Scripting.Dictionary klucze do Listbox VBA Excel - excel, vba, excel-vba, listbox, scripting.dictionary

Klucze Scripting.Dictionary do Listbox VBA Excel - excel, vba, excel-vba, listbox, scripting.dictionary

Pracowałem z VBA w Excelu i ostatnio rozpocząłem pracę z obiektem Scripting.Dictionary. Do dzisiaj nie miałem żadnych poważniejszych problemów.

Zasadniczo próbuję wypełnić listboxkluczowe wartości słownika, a następnie dodaj jeszcze jedną wartość do listy. Powoduje to, że wartość nie tylko zostanie dodana do listbox, ale także do słownika jako klucza. Próbowałem skopiować wartości z tablicy dict.keys () do całkowicie oddzielnej tablicy, ale nadal mam ten sam problem. Zakładam, że jest to problem niedotyczący, ale muszę jeszcze znaleźć rozwiązanie. Jeśli ktoś ma jakieś pomysły, które byłyby niesamowite.

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

Odpowiedzi:

1 dla odpowiedzi № 1

To wydaje się działać

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