我一直在努力尝试在VBA中实现目标寻求功能,但没有结果,这就是我转向你们的原因。
我有一个变量的双值,其中最后一个元素只是一个临时的设置值,必须更改(如在goalseek中),以便整个数组的总和等于1.当然这是你将在工作表中做什么,但我需要在VBA中处理NO cell ...
有没有办法在VBA中调用Goalseek函数而不必使用工作表(或单元格),而只是使用变量?
谢谢, 尼古拉斯
答案 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完成的内容以及问题所在,并将问题发布到代码中。