Eu fiz várias pequenas alterações no UDF () .............. estudo das diferenças:
Function GetUniqueCount(aFirstArray()) As Long
Dim arr As Collection
Set arr = New Collection
On Error Resume Next
For Each a In aFirstArray
arr.Add a, CStr(a)
Next
On Error GoTo 0
GetUniqueCount = arr.Count
End Function
Sub MAIN()
Dim inpt()
inpt = Array("alpha", "alpha", "beta", "beta", "gamma")
MsgBox GetUniqueCount(inpt)
End Sub