2016-02-25 42 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 

你有没有实际添加使用键“名字”值“约翰”收藏?