2016-02-25 44 views
-1

我有一個名爲kvs的集合,其中包含一個條目firstname:john。如果我通過kvs(「firstname」)訪問集合,我會按預期返回john。通過變量訪問VBA收集項目 - Mac Excel 2011

不過,我想通過訪問變量x這是目前該條目(字符串):

print x 
firstname 

KVS(x)返回一個下標超出範圍錯誤輸入:

print kvs(x) 

因爲它如果它設置成:

print x 
"firstname" 

我如何通過variabl我訪問集合中的項è?我不知道什麼是集合字段是事先所以不能硬編碼他們

+0

你是否檢查'firstname'是否存儲在'x'中? – findwindow

+0

看到上面我把「print x」的輸出與名字和「名字」 – jasonm

+0

這可以按預期當我嘗試它... –

回答

1

這個工作對我來說:

Public Sub collectionUsingVarAsKey() 
    Set kvs = New Collection 
    Dim key As String 
    kvs.Add "John", "firstname" 
    key = "firstname" 
    Debug.Print kvs(key) 
End Sub 

你有沒有實際添加使用鍵「名字」值「約翰」收藏?