2017-06-16 60 views
0

尽管提供了像我这样正确的密钥,但我无法从字典中检索值。 Vba Dictionary not finding key

在我眼前的窗口,我得到的结果如下:

?d.Keys(0) 
Key 

?range("A1").Value 'This contains the key 
Key 

‘Just to make sure there’s no weirdness going on with white space or anything else… 
?d.Keys(0) = range("A1").Value 
True 'So, these two values are the same right??? 
  

?d(d.Keys(0)) 
Value 


?d(range("A1").Value) 
'this returns blank 

任何想法是什么力量推动这种行为?如果我的单元格值等于密钥,为什么我不能使用它从字典中提取值?

编辑:我应该补充,关键是相当长,230个字符。也许这很重要?

+1

是关键文本还是数值?你在调试过程中是否可以切换工作表,并且在最后一次测试中选择了另一张工作表? –

+0

你可以把这个放在一个带有示例数据的子程序中,这个数据显示了这个问题,这样我们就可以看到变量的范围和它们的赋值了吗? –

+0

键是文字。由于我的雇主的隐私问题,我没有发布实际的代码,但在我的测试中,我完全符合我的工作表参考资格。 – nwhaught

回答

0

我的部分愚蠢的错误。我将键设置为范围本身,而不是将键设置为范围的值。