我不明白爲什麼在此代碼底部的Debug.Print n & " - " & objTrans2.DESC
行正在輸出「說明2」兩次。我希望它輸出「描述1」和「描述2」。無法用自定義對象使用Collection.add填充VBA集合
是否有什麼問題,我想通過在For循環中通過sampleCollection.Add
添加自定義對象(事務)?代碼奇妙地工作,如果我添加字符串而不是對象的集合。
Public Function PopCollection()
Dim sampleCollection As New Collection
Dim objTrans As New Transaction
Dim objTrans2 As New Transaction
'********** SETUP ARRAY FOR LOOP *************
Dim arrA(0 To 1) As String
arrA(0) = "Description 1"
arrA(1) = "Description 2"
'********** POPULATE COLLECTION *************
For n = 0 To 1
objTrans.DESC = arrA(n)
Call sampleCollection.Add(objTrans)
Next n
'********** ITERATE THROUGH COLLECTION *************
For n = 1 To sampleCollection.Count
Set objTrans2 = sampleCollection.Item(n)
Debug.Print n & " - " & objTrans2.DESC
Next n
End Function
任何幫助newbee的讚賞!
~~~~~~~~~~~~~~~~~~~~~~~
針對米奇的迴應,這裏是交易類的信息:
Public PTXN As Integer
Public ACCTID As Integer
Public CHECKNUM As String
Public DESC As String
Public STATUS As String
Public TRANSACTIONDATE As String
Public SPLIT_DESC As String
Public SPLIT_AMT As Single
Public SPLIT_CATEGORY As Integer
我只將屬性聲明添加到Excel中的VB編輯器中......所以我複製/粘貼了那裏列出的內容。
迪克,工作!謝謝!我花了數小時試圖弄清楚。感謝解釋和清理代碼...我喜歡看其他人如何更新我的代碼。 – Eric 2010-07-12 11:02:12