arrays - 二维数组作为字典的项目

标签 arrays excel dictionary vba

我想用项目的多个属性填充字典。示例:

Sample data

我正在考虑将 Item 1Item 2 作为 Dictionary 键,并使用一个 array 来保存它的属性。 我需要能够单独访问项目的每个属性,因此将它们连接为一个字符串不是一种选择。

我正在考虑类似下面的伪代码:

    With Workbooks("testing macro").Sheets(test).Range("D7:G8")

     For i = 1 To .Rows.count

        items_dict.Add Key:=.Cells(i, 1).Value, _
 Item:= array(i,1)= .cells(i,2).value array(i,2)=.cells(i,3).value array(i,3).cells(i,4)

最佳答案

您还可以按照最初的建议,使用 Array 函数创建 Variant 数组。如果您的数据结构变得如此复杂,通常最好有一个数据模型类,如 @sous2817 的答案。但这种技术对于临时的一次性代码很有用。

Dim r As Range

For Each r In ['[testing macro.xlsx]test'!D7:G8].Rows
    ItemsDict.Add r.Cells(1).Value, Array( _
        r.Cells(2).Value, _
        r.Cells(3).Value, _
        r.Cells(4).Value)
Next

关于arrays - 二维数组作为字典的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32361389/

相关文章:

c# - Excel 返回日期而不是计算值

c++ - 重载求和函数,将列表/vector 与 map 混淆

c# - 并发字典多次写入

java - ArrayException越界

C++ |为什么执行这个程序后我会得到奇怪的字符?

php - CSV 新行字符

python - 通过字典中的字典进行一行迭代

arrays - 何时使用 '.flat', '.flatiter'或 '.flatten()'

java - TXT 中的升序整数到数组

vba - 突出显示单个范围内的重复项