![]() |
Defining Variable Type for Items and Keys in Dictionary
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 |
Defining Variable Type for Items and Keys in Dictionary
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 "ExcelMonkey" wrote in message ... 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 |
Defining Variable Type for Items and Keys in Dictionary
Hello Monkey,
Sub DictionaryDemo() Dim d as Dictionary Dim SearchTerm As String Dim X As Integer Dim Keys as Variant Dim Items as Variant -- Regards, Tom Ogilvy "ExcelMonkey" wrote: 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 |
Defining Variable Type for Items and Keys in Dictionary
Dim Items as ???????????? Dim Keys as ???????????? i think that's what it's looking for. susan On May 4, 1:15 pm, ExcelMonkey wrote: 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 |
Defining Variable Type for Items and Keys in Dictionary
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 "Tom Ogilvy" wrote: Hello Monkey, Sub DictionaryDemo() Dim d as Dictionary Dim SearchTerm As String Dim X As Integer Dim Keys as Variant Dim Items as Variant -- Regards, Tom Ogilvy "ExcelMonkey" wrote: 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 |
Defining Variable Type for Items and Keys in Dictionary
these properties are passed as arrays, so a variant is needed.
-- Regards, Tom Ogilvy "ExcelMonkey" wrote: 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 "Tom Ogilvy" wrote: Hello Monkey, Sub DictionaryDemo() Dim d as Dictionary Dim SearchTerm As String Dim X As Integer Dim Keys as Variant Dim Items as Variant -- Regards, Tom Ogilvy "ExcelMonkey" wrote: 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 |
All times are GMT +1. The time now is 07:32 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com