我一直在努力尝试在 VBA 中实现目标搜索功能,但没有结果,这就是我求助于你们的原因。
我有一个双值变体,其中最后一个元素只是一个临时设置值,必须更改它(如在目标搜索中),以便整个数组的总和等于 1。当然这正是你的会在工作表中做,但我需要它在 VBA 中,处理 NO 单元格......
有没有办法在 VBA 中调用Goalseek 函数而无需使用工作表(或单元格),而只需使用变量?
谢谢, 尼克拉斯
我一直在努力尝试在 VBA 中实现目标搜索功能,但没有结果,这就是我求助于你们的原因。
我有一个双值变体,其中最后一个元素只是一个临时设置值,必须更改它(如在目标搜索中),以便整个数组的总和等于 1。当然这正是你的会在工作表中做,但我需要它在 VBA 中,处理 NO 单元格......
有没有办法在 VBA 中调用Goalseek 函数而无需使用工作表(或单元格),而只需使用变量?
谢谢, 尼克拉斯
如果它只是关于填充最后一个数组项,那么这段代码可能会派上用场:
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 完成什么以及问题出在哪里,并在出现问题的地方发布代码。