Two things... first, I would probably declare the argument to your
AvgCollection function as Collection instead of Variant and, second, you
don't need to maintain a separate Counter to count the elements in the
Collection as Collections have a Count property. This is how I would modify
your function...
Function AvgCollection(col As Collection) As Double
Dim c As Variant
Dim dblSum As Double
For Each c In col
dblSum = dblSum + c
Next
AvgCollection = dblSum / col.Count
End Function