为什么我arrays中的所有元素都是一样的?

我有一个dynamic创build数组的function,但创build的数组中的元素都是相同的。 所有元素都被最后一个元素覆盖。

这是VBA问题还是我做错了? 有人可以帮忙吗? 先谢谢你。

For count = 1 To 2 Set sheet = deviceBook.Worksheets.Item(1) Set find = sheet.range("A1", GetColName(sheet.UsedRange.Columns.count, sheet) & "1") With find carrierClo = GetCellColumn(carrierTitle, sheet, find) modelNoCol = GetCellColumn(modelNoTitle, sheet, find) End With For row = 2 To sheet.UsedRange.Rows.count If sheet.range(carrierClo & row).value <> "" And sheet.range(modelNoCol & row).value <> "" Then With plm .carrierName = sheet.range(carrierClo & row).value .modelNo = sheet.range(modelNoCol & row).value Set plms(UBound(plms)) = plm ReDim Preserve plms(UBound(plms) + 1) End With End If Next Next 

正如OP的问题的评论中回答的那样:

如果plm是一个对象,则需要在每个循环中实例化一个新对象。 尝试把套plm =新***之前用plm如果是这样的话。 – xificurC