数据在VBA中不存在于字典中

时间:2015-01-18 08:56:02

标签: vba excel-vba dictionary excel

我在VBA中创建了一个字典,如下所示:

Set Curr = CreateObject("Scripting.Dictionary")
For Index = 1 To NoOfCurr
   Curr.Add Cells(15 + Index, 5), Index
Next

创建字典后,我想检查字典中是否存在特定字符串。所以我这样做了:

tempString = "USD"
itemInarry = IsInArray(tempString, Curr)

Function IsInArray(stringToBeFound As String, arr As Variant) As Boolean
  IsInArray = arr.Exists(stringToBeFound)
End Function

但是IsInArray的值是假的。不知道为什么。需要一些指导原因。

1 个答案:

答案 0 :(得分:3)

您获得IsInArray = FALSE的原因是您已将带有Range个对象的词典作为键加载,然后测试String的存在作为键。

也许你的意思是Curr.Add Cells(15 + Index, 5).Value, Index

(请注意,使用此方法,如果单元格中的值不是唯一的,则会出现错误)