返回列表 上一主題 發帖

Collection物件使用的疑惑?

Collection物件使用的疑惑?

本帖最後由 dechiuan999 於 2014-1-21 07:10 編輯

各位大大好:

小弟對Collection物件的應用,
仍無法完全理解。
小弟由書中的範例就有一問題
想請敎各位大大。

範例如下:
Sub aa()
   '測試資料 E_Data01表
    Dim myAr     As Variant
    Dim myCnt    As Long
    Dim myClc    As New Collection
    Dim myKey    As String
    Dim myErrNum As Long
    Dim i        As Long
    Dim mStr1$, mStr2$
    myAr = Range("A1").CurrentRegion.Value              '指定搜尋來源範圍
    For i = 1 To UBound(myAr)
        'myClc.Add Item:=myAr(i, 8), key:=CStr(myAr(i, 3))
        myClc.Add Item:=myAr(i, 8) & "_" & myAr(i, 3), key:=CStr(myAr(i, 3)) '如果改變Item的內容為何就無法指出key值呢?
    Next
   
    For i = 1 To myClc.Count
        mStr1 = myClc.Item(i)
        
    Next
   
    myKey = "渡邊"                      '指定KEY
    On Error Resume Next
        myCnt = myClc.Item(myKey)  '如果item改變時,myCnt的值就無法取得。
        'myCnt = myClc(myKey)
        myErrNum = Err.Number
    On Error GoTo 0
    If myErrNum = 0 Then
        MsgBox myKey & "的合計分數為" & myCnt & "。"
    Else
        MsgBox "沒有找到符合條件的資料"
    End If
    Set myClc = Nothing                     '物件的釋放
End Sub

在myClc.add時,改變Item的值;而仍不改變key值之後,就無法得到myCnt的值呢?

'myClc.Add Item:=myAr(i, 8), key:=CStr(myAr(i, 3))
myClc.Add Item:=myAr(i, 8) & "_" & myAr(i, 3), key:=CStr(myAr(i, 3)) '如果改變item的內容為何就無法指出key值呢?
test1.rar (7.97 KB)


謝謝各位大大!

回復 2# GBKEE


    謝謝板主大大。
幫小弟解開悶在心中的疑惑。
同時,更提出取出Collection item
諸多方法。

謝謝板主大大。
感恩大大!

TOP

        靜思自在 : 要用心,不要操心、煩心。
返回列表 上一主題