Я не могу выяснить, как сохранить и получить доступ к массиву в словаре VBA.
У меня есть ключ с несколькими элементами, например, «Apple» со значением «3» и количеством «5».
Один элемент не будет проблемой, ie: dict ("Яблоки") = 3
Но как мне сохранить и получить несколько значений? Допустим, я хочу добавить «Яблоки, 3, 5», а затем перейти в ячейку C4 и автоматически вставить туда яблоки, 3 в C5 и 5 в C6.
Пока я пробовал:
Dim last_row As Long
last_row = Cells(Rows.Count, 1).End(xlUp).Row
Dim last_col As Long
last_col = ActiveSheet.UsedRange.Columns.Count
Dim strVal As String
Dim Item(0 To 99) As String
Dim header As Range
Dim rng As Range
For Each rngCell In Range(Cells(1 + i, 1), Cells(last_row, 1))
i = i + 1
strVal = rngCell.Text
If Not dict.Exists(strVal) Then
n = 0
For Each headerCell In Range(Cells(i, 2), Cells(i, last_col))
n = n + 1
Item(n) = headerCell.Text
'MsgBox headerCell.Text
Next headerCell
dict(strVal) = Item
Else
MsgBox "already exists"
End If
Next rngCell
Dim Items(0 To 99) As String
sFruit = InputBox("Check value of key")
Items = dict(sFruit)
MsgBox "The value of " & sFruit & " is " & Items(2)
Это последняя часть, которая не работает. Независимо от того, объявляю ли я Items как Variant, String или Object, или даже если я помещаю Item = Items (2) над окном сообщения и ссылаюсь на это. Я не могу извлечь какую-либо информацию из массива, извлеченного из словаря. Похоже, что Items = dict (sFruit) не является способом получения массива.