J

#### Jan Kronsell

Function NDIG(ce As String, no As Byte) As Variant

Dim cif(9) As Long

For i = 1 To Len(ce)

Select Case CByte(Mid(ce, i, 1))

Case Is = 0

cif(0) = cif(0) + 1

Case Is = 1

cif(1) = cif(1) + 1

Case Is = 2

cif(2) = cif(2) + 1

Case Is = 3

cif(3) = cif(3) + 1

Case Is = 4

cif(4) = cif(4) + 1

Case Is = 5

cif(5) = cif(5) + 1

Case Is = 6

cif(6) = cif(6) + 1

Case Is = 7

cif(7) = cif(7) + 1

Case Is = 8

cif(8) = cif(8) + 1

Case Is = 9

cif(9) = cif(9) + 1

End Select

Next

NDIG = cif(no)

End Function

I use i by typing the number I want counted in a1 and the numbers fro, 0 to

9 in B1:B10. I then enter the UDF in C1 like =NDIG($A$1;B1) and copy down to

C10, and it retunrs the number of any digit in the cell.

Now I wonder if the UDF can be changes, so I can enter it as an array

formula in C1:C10 in stead of having to copy it?

Jan