Board logo

標題: Collection物件使用的疑惑? [打印本頁]

作者: dechiuan999    時間: 2014-1-21 06:59     標題: 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值呢?
[attach]17328[/attach]


謝謝各位大大!
作者: GBKEE    時間: 2014-1-21 09:22

本帖最後由 GBKEE 於 2014-1-21 09:28 編輯

回復 1# dechiuan999
你變數的型態設定不對
  1.     Dim myCnt    As String
  2.     Dim myKey    As Variant  '可以是數字或字串
  3.     '即時視窗的內容: Item 7 : "291_渡邊" : Variant/String
  4.     '索引鍵-> Variant  ,Key->String
  5.     myKey = 7                          '指定Item
  6.     myCnt = myClc.Item(7)
  7.     MsgBox myCnt
  8.     myCnt = myClc(7)
  9.     MsgBox myCnt
  10.     myKey = "渡邊"                      '指定KEY
  11.     myCnt = myClc(myKey)
  12.     MsgBox myCnt
  13.     myCnt = myClc.Item(myKey)
  14.     MsgBox myCnt
複製代碼

作者: dechiuan999    時間: 2014-1-21 20:47

回復 2# GBKEE


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

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




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)