【发布时间】:2018-08-24 05:20:07
【问题描述】:
我在使用循环填充 excel vba 中的数组时遇到了问题。
其实我想用以下方式填写字典myitem:
produkt1 和 produkt2 可能都是字典。
myitem("productionOrderItems")=Array(produkt1, produkt2).
因为我现在不知道我有多少次produkt,所以我使用循环来创建字典produkt。
每次创建和填充字典 produkt 时,我都想将其分配给 Array,就像我上面描述的那样。
以下代码显示了创建字典的循环。但在那种情况下,显然只创建了最后一个字典 (i=counter)。
counter 是我想分配给Array 的产品数量。
myitem As New Dictionary
For i = 1 To counter
Dim produkt As New Dictionary
zeile = 2 + i
produkt("id") = Tabelle6.Cells(zeile, 1).Value
Tabelle6.Cells(zeile, 1).Value = ""
produkt("actualWithdrawalQuantity") = Tabelle6.Cells(zeile, 2).Value
Tabelle6.Cells(zeile, 2).Value = ""
produkt("articleId") = Tabelle6.Cells(zeile, 3).Value
Tabelle6.Cells(zeile, 3).Value = ""
produkt("articleNumber") = Tabelle6.Cells(zeile, 4).Value
Tabelle6.Cells(zeile, 4).Value = ""
produkt("createdDate") = Tabelle6.Cells(zeile, 5).Value
Tabelle6.Cells(zeile, 5).Value = ""
produkt("positionNumber") = Tabelle6.Cells(zeile, 6).Value
Tabelle6.Cells(zeile, 6).Value = ""
produkt("quantity") = Tabelle6.Cells(zeile, 7).Value
Tabelle6.Cells(zeile, 7).Value = ""
produkt("targetWithdrawalDate") = Tabelle6.Cells(zeile, 8).Value
Tabelle6.Cells(zeile, 8).Value = ""
produkt("targetWithdrawalQuantity") = Tabelle6.Cells(zeile, 9).Value
Tabelle6.Cells(zeile, 9).Value = ""
myitem("productionOrderItems") = Array(produkt)
Next
也许有人知道如何解决这个问题。 提前致谢!
【问题讨论】:
标签: arrays excel vba dictionary for-loop