Многие источники, например. https://support.microsoft.com/en-us/kb/187234, утверждают, что ключ словаря может быть из многих типов данных за пределами строки. Однако, когда я пробовал целые числа и даты как ключи, он терпит неудачу. Может кто-нибудь объяснить?VBA словарь данных типа
Я попробовал ответить @Tim Williams ниже, он работает. То, что я имел в своем распоряжении был
Private Sub trial()
Dim dict As New Dictionary
dt = 1
'vols.marketDate = Date
dict.Add dt, 4 'vols
c = dict(dt)
End Sub
ли мой способ определения словаря сделать разницу по сравнению с @ Тим Уильямс?
Вторая часть моего вопроса связана со значением словаря. Я запустил следующий VBA код, стремясь использовать определенный пользователь структуру в качестве значения в дикции, и столкнулся сообщение об ошибке:
Public Type volSurface
marketDate As Date
End Type
Private Sub trial()
Dim dict As New Dictionary, vols As volSurface
dt = 1
vol.marketDate = Date
dict.Add dt, vols
c = dict(dt)
End Sub
Значит ли это, я не могу использовать конструкцию, значение в словарь или что-то еще я сделал не так? Если это последний случай, как я могу его исправить? не
Я попробовал ваш образец. Оно работает. Я просто добавил свой исходный код в вопрос. Не могли бы вы взглянуть на то, как я объявляю словарь? Это действительно? – Hans
Нет проблем с кодом в вашем вопросе –
Спасибо, @ Тим Уильямс. Это странно, это не сработало раньше ... Я добавил второй вопрос, касающийся типа данных значения словаря. Не могли бы вы взглянуть на этот вопрос? – Hans