Словарь может содержать словарь как элемент
If Not dictfilenames.exists(file) then
dictfilenames.add, file, New Scripting.Dictionary ' or CreateObject("Scripting.Dictionary)
End If
with dictfilenames.Item(file)
.Add key:=.count, Item:=<value from next column>
End With
Таким образом, вы получаете словарь, в котором ключами являются имена файлов, а элементом является еще один scripting.dictionary с последовательными ключами, начинающимися с 0. Конечно, вам не нужно использовать счетчик для автоматического индексации, вы можете использовать номер строки значения в следующем столбце.
например,
.add key:=<row_number>, Item:=<value from next column>
Теперь вы можете читать обратно значения во вложенном словаре, используя
Dim myItem as variant
For each myItem in dictfilenames.item(file) ' myItem is the key in the nested dictionary
myValue = dictfilenames.item(file).item(myItem)
Next
или получить массив
Dim myArray as variant
myArray = dictfilenames.item(file).Items