数组处理自定义函数VB.net

我想转换一些Excel的VBA自定义function成为一个VB.net的COM插件,我可以处理大多数function,但它倒下时,其中一个input是范围,而不是一个单元格。 我添加了一个基本的function,当试图用一个外部范围询问Marray(i,0)时,该function下降

Function getAverage(ByVal arr As Object) As Double 'local variables Dim i As Integer Dim avg As Double Dim sum As Double = 0 Dim Marray As Array = CType(arr, excel.Range).Value2 For i = 1 To UBound(Marray) sum = sum + Marray(i, 0) Next i avg = sum / UBound(Marray) Return avg End Function 

这可能不是处理范围的最佳方法,我会对有更好解决scheme的人感兴趣