You can develop early-bound, test both early- and late-bound, and then leave it whichever way you like. For example,
#Const EarlyBound = True
Function Unique(r As Range, _
Optional iMode As Long = 0, _
Optional bCaseSensitive As Boolean = False, _
Optional sSep As String = " ") As Variant
' blah, blah, blah ...
#If EarlyBound Then
Dim dic As Scripting.Dictionary
Set dic = New Scripting.Dictionary
#Else
Dim dic As Object
Set dic = CreateObject("Scripting.Dictionary")
#End If
With dic
' ...
That way you get IntelliSense during development.
Bookmarks