更新时间:2023-10-12 23:09:34
您可以使用Range对象的Address属性循环遍历所有300列。
You can use the Address property of the Range object to loop through all 300 columns.
首先,您需要3个变量来保存SetCell,ValueOf和ByChange的位置。
First you need 3 variables to hold locations of SetCell, ValueOf, and ByChange.
Dim setCellRange as Range, valueOfRange as Range, byChangeRange as Range
Set setCellRange = ActiveSheet.Range("B20")
Set valueOfRange = ActiveSheet.Range("B3")
Set byChangeRange = ActiveSheet.Range("B28")
然后,您可以使用以下循环遍历每一列。
Then you can use the following loop to iterate through each column.
Dim i as Long
For i = 1 to 300
SolverReset
SolverOk SetCell:=setCellRange.Address, MaxMinVal:=3, ValueOf:=valueOfRange.Address, ByChange:=byChangeRange.Address, _
Engine:=1, EngineDesc:="GRG Nonlinear"
SolverSolve
Set setCellRange = setCellRange.Cells(1, 2)
Set valueOfRange = valueOfRange.Cells(1, 2)
Set byChangeRange = byChangeRange.Cells(1, 2)
Next i
希望这有帮助!