Assuming you want to do a count of distinct values within a specified column of an array, here is an example with a 5*3 array read in from a worksheet range, counting the distinct values in column 2. I am using a function by Mark Nold to check if the value to be added already exists in the collection.
Option Explicit
Public Sub test()
    Dim testArr()
    Dim myCount As Long
    testArr = ActiveSheet.Range("A1:C5").Value
    myCount = CountUarrcol(testArr, 2)
    MsgBox myCount
End Sub
Public Function CountUarrcol(inarr() As Variant, colidx As Long) As Long
    Dim col As New Collection
    Dim i As Long
    For i = 1 To UBound(inarr)
        If Not InCollection(col, CStr(inarr(i, colidx))) Then
            col.Add Item:=CStr(inarr(i, colidx)), key:=CStr(inarr(i, colidx))
        End If
    Next i
    CountUarrcol = col.Count
End Function
'Mark Nold  https://stackoverflow.com/questions/137845/determining-whether-an-object-is-a-member-of-a-collection-in-vba
Public Function InCollection(col As Collection, key As String) As Boolean
    Dim var As Variant
    Dim errNumber As Long
    InCollection = False
    Set var = Nothing
    Err.Clear
    On Error Resume Next
    var = col.Item(key)
    errNumber = CLng(Err.Number)
    On Error GoTo 0
    '5 is not in, 0 and 438 represent incollection
    If errNumber = 5 Then                        ' it is 5 if not in collection
        InCollection = False
    Else
        InCollection = True
    End If
End Function

'Public Function CountUarrcol(inarr As Variant, colidx As Integer) As Long Dim col As New Collection Dim i As Integer Dim element As Variant For Each element In inarr col.Add Item:=element, Key:=element Next CountUarrcol = col.Count End Function'– user7181718 Dec 12 '17 at 11:44