创建 VBA SUMX2MY2 等效函数

问题描述

我正在尝试通过在我自己的函数 mySUMX2MY2 中编写相当于 SUMX2MY2 的代码来练习我的 VBA 技能(我意识到我可以使用 =SUMPRODUCT 但我正在练习函数)。我试图通过从选择的任何范围创建两个数组并将范围平方并减去第二个平方范围来做到这一点。每次我在 excel 中尝试时,都会收到错误 #VALUE。我的猜测是错误与我的函数返回的参数有关,但我不确定如何修复它。

Sub main()


End Sub

 Function mySumX2MY2(n1 As Range,n2 As Range) As Variant 

 Dim n1Array() As Variant
 Dim n2Array() As Variant
 Dim total As Variant
 Dim i As Integer
 Dim aCell As Variant
 
 i = 1
 
 ReDim n1Array(n1.Count)
 ReDim n2Array(n2.Count)

For Each aCell In n1
   n1Array(i) = aCell.Value
   i = i + 1
Next

For Each aCell In n2
   n2Array(i) = aCell.Value
   i = i + 1
Next

i = 1

For i = 1 To n1.Rows.Count
    total = total + (n1Array(i) * n1Array(i) - n2Array(i) * n2Array(i))
    i = i + 1
Next

mySumX2MY2 = total

End Function

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)