【发布时间】:2015-06-17 16:59:46
【问题描述】:
许多来源,例如https://support.microsoft.com/en-us/kb/187234,声称字典的键可以是字符串以外的许多数据类型。但是,当我尝试将整数和日期作为键时,它失败了。谁能解释一下?
我尝试了下面@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
与@Tim Williams 相比,我定义字典的方式有区别吗?
我的问题的第二部分与字典的值有关。我运行以下 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
这是否意味着我不能将结构用作字典中的值,或者我做错了什么?如果是后一种情况,我该如何补救?
【问题讨论】:
标签: excel dictionary key vba