Defining Variable Type for Items and Keys in Dictionary

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

In the routine below I do not have Option Explicit turned off. When I turn
it on, I get error messages telling me that "Keys" and "Items" are not
defined. What do define them as?

Sub DictionaryDemo()
Dim d as Dictionary
Dim SearchTerm As String
Dim X As Integer

Set d = CreateObject("Scripting.Dictionary")

d.Add "Rob", "Athens" ' Add some keys and items.
d.Add "Barry", "Belgrade"
d.Add "Tim", "Cairo"
d.Add "Tom", "Edmonton"
d.Add "Sue", "Calgary"
d.Add "Sherry", "Vancouver"
d.Add "Brian", "Toronto"
d.Add "Anne", "New Jersey"
d.Add "Dave", "New York"
d.Add "Rick", "Houston"

Items = d.Items
Keys = d.Keys

SearchTerm = "Rob"

Debug.Print "Arrray contains the following data:"

For X = 0 To UBound(Keys)
If Keys(X) = "Rob" Then
Debug.Print Keys(X) & ": " & Items(X)
End If
Next
End Sub

Thanks
EM
 
Set a reference to the MS Scripting run time and see if this code helps:

Sub test()

Dim i As Long
Dim oDict As Scripting.Dictionary

Set oDict = New Scripting.Dictionary

For i = 1 To 10
oDict.Add Key:=i + 1, Item:=i
Next i

MsgBox oDict.Exists(11), , "key 11 exists?"

End Sub


RBS
 
Hello Monkey,

Sub DictionaryDemo()
Dim d as Dictionary
Dim SearchTerm As String
Dim X As Integer
Dim Keys as Variant
Dim Items as Variant
 
Dim Items as ????????????
Dim Keys as ????????????

i think that's what it's looking for.
susan
 
Yes Tom they needed to be dimensioned as Variants. Wasn't sure what data
type to use. Was originaly thinking it was going to be
"Dictionary.Something" but nothing was coming up in the itellisense.

Thanks
 
Back
Top