Hallo,
eventuell ist dieser Code hilfreich?
Sub TEST()
Dim ar() As Variant
ar = Array(1, 2, 1, 1, 1, 2, 1, 2, 2, 2)
Debug.Print ArrayCountIf(ar, 111); " mal 111"
Debug.Print ArrayCountIf(ar, 11); " mal 11"
Debug.Print ArrayCountIf(ar, 1111); " mal 1111"
End Sub
Function ArrayCountIf(ar() As Variant, Search As Variant) As Integer
Dim iPos As Integer, iCnt As Integer
For iPos = LBound(ar) To UBound(ar)
iCnt = iCnt + IIf(ar(iPos) = Search, 1, 0)
Next
ArrayCountIf = iCnt
End Function
Weder die 11, noch 111 oder 1111 kommt im angegebenen Array vor. Daher wird es immer 0 als Zähler ausgegeben werden.
LG, Ben
|