由于vba中的键,字典未返回值
我正在vba中开发一个函数来创建和填充字典 字典的键如下所示:由于vba中的键,字典未返回值,vba,excel,Vba,Excel,我正在vba中开发一个函数来创建和填充字典 字典的键如下所示: CATEGORY 1 CATEGORY 2 当我尝试使用以下代码检索值时,它不起作用: Dim test As String test=mydico("CATEGORY 1") 变量测试为空 但我不明白的是,非常奇怪的是,使用以下代码: For Each Key In mydico.Keys() Dim test As String test = categoriesDico(key) Next 当密钥等于“C
CATEGORY 1
CATEGORY 2
当我尝试使用以下代码检索值时,它不起作用:
Dim test As String
test=mydico("CATEGORY 1")
变量测试为空
但我不明白的是,非常奇怪的是,使用以下代码:
For Each Key In mydico.Keys()
Dim test As String
test = categoriesDico(key)
Next
当密钥等于“CATEGORY 1”时,测试中填充了适当的值,我不明白为什么放置“CATEGORY 1”或放置密钥(值为“CATEGORY 1”)是相同的。我知道这是旧的,但万一有人像我一样在这里找到他们的方法。。。 我遇到了这个问题(例如,一个变量作为键,而一个手动输入的字符串作为键,以便从字典中按键检索一个值-一个有效,另一个无效-在我的例子中,情况正好相反) 我通过使用CStr函数修复了它,即确保存储的键类型与我用于从字典中按键检索值的类型相同,即
dict("key1") = "value1"
dict("key2") = "value2"
等
键的类型为string
如果我像这样查找“key1”:
result = dict("key1")
result shows as "value1"
现在让我们假设我有
var="key1"
类型为string/variant,我想在dict中查找它并检索相应的值。如果我这样做:
result = dict(var)
result shows as blank
我必须这么做
result = dict(CStr(var))
然后,我得到了预期的结果“value1”我知道这很旧,但万一有人像我一样找到了他们的方法。。。 我遇到了这个问题(例如,一个变量作为键,而一个手动输入的字符串作为键,以便从字典中按键检索一个值-一个有效,另一个无效-在我的例子中,情况正好相反) 我通过使用CStr函数修复了它,即确保存储的键类型与我用于从字典中按键检索值的类型相同,即
dict("key1") = "value1"
dict("key2") = "value2"
等
键的类型为string
如果我像这样查找“key1”:
result = dict("key1")
result shows as "value1"
现在让我们假设我有
var="key1"
类型为string/variant,我想在dict中查找它并检索相应的值。如果我这样做:
result = dict(var)
result shows as blank
我必须这么做
result = dict(CStr(var))
然后我按预期将结果返回为“value1”您可以显示在哪里同时填充
mydico
和categoriesDico
您可以看看这里:您可以显示在哪里同时填充mydico
和categoriesDico
您可以看看这里: