2014-10-03 81 views
1

我有一個動態創建數組的函數,但是創建的數組中的元素都是一樣的。所有元素都被最後一個元素覆蓋。爲什麼我陣列中的所有元素都是相同的?

這是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 
+3

如果'plm'是一個對象,則需要在每個週期中實例化一個新對象。如果是這樣的話,試着把'Set plm = New ***'放在'With plm'之前。 – xificurC 2014-10-03 21:09:05

+0

是的,在將plm設置爲新對象後,它可以正常工作。非常感謝你! – Catheryan 2014-10-03 23:07:52

回答

0

如OP的問題的評論回答:

如果PLM是你需要實例化一個新的每個週期的對象。嘗試把Set plm = New ***之前用plm如果是這樣的話。 - xificurC

相關問題