Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
由于vba中的键,字典未返回值_Vba_Excel - Fatal编程技术网

由于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

我正在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

当密钥等于“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
您可以看看这里: