====== Microsoft Excel - Macros - Count - Count Sequentially ====== ' Returns the number of vCrit found within the array oArrWithCrit. Function ArrayCountIfSequential(oArrWithCrit As Variant, vCrit As Variant) Dim lRow As Long For lRow = LBound(oArrWithCrit, 1) To UBound(oArrWithCrit, 1) If oArrWithCrit(lRow, 1) = vCrit Then ArrayCountIfSequential = ArrayCountIf + 1 End If Next End Function or '=ArrayCountIf(A1:A1000,"Foo",B1:B1000) Function RangeCountIf(oRngWithCrit As Range, vCrit As Variant) Dim vArr1 As Variant Dim lRow As Long vArr1 = oRngWithCrit.Value For lRow = LBound(vArr1, 1) To UBound(vArr1, 1) If vArr1(lRow, 1) = vCrit Then RangeCountIf = RangeCountIf + 1 End If Next ' Clear all objects. Set vArr1 = Nothing End Function