脚本字典功能

时间:2017-07-24 03:20:19

标签: vba dictionary scripting

我目前正在尝试使用Scripting Dictionary Object执行一项功能。但是,它似乎不起作用。我是Scripting Dictionary Object的新手。该函数用于检查单元格中的数字是1,9,17还是25.如果是1,9,17或25,它将返回'True',否则它将返回'False'。尽管有这些数字,该函数仅返回False。

Function checkNuminList(r As Integer)
Dim myList As Object
Set myList = CreateObject("Scripting.Dictionary")
myList.Add Key:="Num1", Item:="1"
myList.Add Key:="Num2", Item:="9"
myList.Add Key:="Num3", Item:="17"
myList.Add Key:="Num4", Item:="25"
If myList.Exists(r) Then
checkNuminList = "True"
Else
checkNuminList = "False"
End If
End Function

1 个答案:

答案 0 :(得分:4)

myList.Exists(r)其中r表示您的密钥

EG。 Dic.Exists(Key)

因为您的密钥:=" Num1"因此它将一直返回false。

假设r指的是项目,一种方法是循环通过字典来检查项目是否等于你想要的值

例如

Dim key As Variant
For Each key In Dic.Keys
    If Dic.Item(key) = r Then
        checkNuminList = "True"
    Else
        checkNuminList = "False"
    End If
Next key