【发布时间】:2017-03-29 16:23:03
【问题描述】:
我想使用一个字典数组来存储 Excel 工作簿的所有内容,以便以后处理它并在内存中进行操作。
我已定义 Excel 工作簿的第一行是键,其余行是内容。由于我对多个值都有一个键,因此我需要将它们存储在不同的容器中(这将是数组)。
内容示例
代号 姓氏 1个 2 天代码:
For Each rcell In ws.UsedRange.Cells
If rcell.Row > 1 Then
ReDim Preserve aRows(rcell.Row - 2)
'Set aRows(rcell.Row - 2) = CreateObject("scripting.dictionary")
Set pInfo = New Scripting.Dictionary
pInfo.Add Key:=Cells(1, rcell.Column).Value, Item:=rcell.Value
'aRows(rcell.Row - 2).Add Key:=Cells(1, rcell.Column).Value, Item:=rcell.Value
Set aRows(rcell.Row - 2) = pInfo
End If
Next rcell
此代码创建一个字典数组。
当我尝试访问数据时出现错误。
我知道它至少在存储值,因为当我使用时:
debug.print(ubound(aRows))
在这种情况下,我得到的值是 (1)。
我尝试使用
访问内容for each row in aRows
debug.print(row.key)
next row
但是,这不被接受。如何访问数据?
替代方案或更简单的东西会很棒。
【问题讨论】:
标签: arrays excel vba dictionary