VB函数错误消息

时间:2013-04-22 23:30:27

标签: excel-vba multidimensional-array user-defined-functions vba excel

所以我想创建一个函数来计算问题解决方案的“成本”。

我创建了一个包含整数值的1维数组Sum(m)。这在不同的子程序中引用。

Function Cost(sum As Integer, a As Integer) As Long

Dim total As Long

'Calculate cost
For m = 1 To 2 * n + 2
    total = total + (sum(m) - a) ^ 2
Next m
Cost = total

End Function

我不确定我应该在该行的括号部分使用什么

Function Cost(sum As Integer, a As Integer) As Long

当我尝试在我的子程序中调用该函数时,我收到错误消息 - 编译错误:预期数组。这发生在

行中
SolCost = Cost(sum, UBound(x))

我真的很困惑为什么会发生这种错误。这可能是由于严重缺乏VB经验。希望你们能帮助我。

如果您需要更多信息,请随时提出。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

你不能UBound这样的多维数组。您必须UBound数组的一个特定维度。因此,如果X(i,j)是您的数组,则必须UBound(X,1)表示第一维,或UBound(X,2)表示第二维。这可以扩展到您拥有的多个维度。看看at w3schools,他们的文章涵盖了多维数组。

相关问题