【发布时间】:2013-04-22 23:30:26
【问题描述】:
所以我想创建一个函数来计算解决问题的“成本”。
我创建了一个包含整数值的一维数组 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 经验。希望大家能帮帮我。
如果您需要更多信息,请随时提出。非常感谢任何帮助。
【问题讨论】:
-
什么是 x?它正在寻找 x 是一个数组,它可能不是,这就是它抛出的原因。
-
X(i,j) 已经是子过程中的一个数组。它形成一个整数数组,计算成本。基本上,我正在创建一个“魔方”。 X(i,j) 形成问题的初始解。该函数计算此初始解决方案的成本(即距离完美幻方的距离)
标签: excel multidimensional-array user-defined-functions vba