You might want to read about the properties and methods of a dictionary object in Help (Microsoft Visual Basic Documentation > Visual Basic Language Reference > Objects > Dictionary).
You add items to a dictionary using the Add method. You can't access an item in a dictionary by position except by reading all of the Keys into a variant array, which kind of defeats the purpose of a dictionary.
I think this is part of what you're trying to do:
Code:Dim dic As Dictionary Sub Macro1() Dim r As Range Dim cell As Range Dim avKeys As Variant Set dic = New Dictionary Set r = Range("A1", Range("A1").End(xlToRight)) For Each cell In r If Not dic.exists(cell.Value) Then dic.Add Key:=cell.Value, Item:=cell.Offset(1).Value Next cell avKeys = dic.Keys End Sub