I think you need to iterate through the array and test each value
Code:
Sub CountIt()
Dim arr() As String, i As Integer, iCount As Integer
arr = Split("1,Dog,2,Apple,3.7,22,Green", ",")
For i = LBound(arr) To UBound(arr)
If IsNumeric(arr(i)) Then iCount = iCount + 1
Next i
MsgBox "Array contains " & iCount & " numbers", vbOKOnly
End Sub