关于VBA中的目标搜索或fsolve(matlab)功能

时间:2013-07-24 07:08:48

标签: vba

我一直在努力尝试在VBA中实现目标寻求功能,但没有结果,这就是我转向你们的原因。

我有一个变量的双值,其中最后一个元素只是一个临时的设置值,必须更改(如在goalseek中),以便整个数组的总和等于1.当然这是你将在工作表中做什么,但我需要在VBA中处理NO cell ...

有没有办法在VBA中调用Goalseek函数而不必使用工作表(或单元格),而只是使用变量?

谢谢, 尼古拉斯

1 个答案:

答案 0 :(得分:0)

如果它只是填充最后一个数组项,那么这段代码可能会派上用场:

Sub FillLastElementWithDifferenceToOne()
    Dim arr As Variant
    Dim i As Integer, sum As Double

    ReDim arr(1 To 10)

    'Fill Array with .01 - .09
    For i = LBound(arr) To UBound(arr)
        arr(i) = i / 100
    Next i

    'Calculate sum = .45
    For i = LBound(arr) To UBound(arr) - 1
        sum = sum + arr(i)
    Next i

    'Set last item of array
    arr(UBound(arr)) = 1 - sum

    'Clean up
    Set arr = Nothing
End Sub

否则请指明您希望使用VBA完成的内容以及问题所在,并将问题发布到代码中。