1

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

我有一个双值变体,其中最后一个元素只是一个临时设置值,必须更改它(如在目标搜索中),以便整个数组的总和等于 1。当然这正是你的会在工作表中做,但我需要它在 VBA 中,处理 NO 单元格......

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

谢谢, 尼克拉斯

4

1 回答 1

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 完成什么以及问题出在哪里,并在出现问题的地方发布代码。

于 2013-07-24T09:54:16.140 回答