我正在尝试将一些excel VBA自定义函数转换为VB.net COM插件,我可以处理大多数函数,但是当其中一个输入是一个范围而不是一个单元格时它会崩溃。我添加了一个基本功能,当试图用外部范围询问Marray(i,0)时,该功能会失效
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
这可能不是处理范围的最佳方式,我会对任何有更好解决方案的人感兴趣