如何使用 VBA 在多行中重复 Excel 求解器?
How to repeat Excel solver in several rows using VBA?
所以这是一个非常标准的 VBA 请求(发现有点像搜索堆栈溢出,但不完全是)。
我有一个我想要求解的基本求解器方程,但需要对单列中的 100 行求解。我正在尝试让求解器:
- 将单元格 S5 定位为值 = 1
- 通过更改单元格 T5
- 在U5中输出
- 一直这样下去目标S6,改变T6,输出U6; S7、T7、U7……等到S100、T100、U100。
这是一个简单的功能,但我似乎无法让它工作。现在代码(粘贴在末尾)输出 S5 到 T5 的解决方案,一直到 U 列。所以它只是在 U5、U6、U7 等中重复 S5 到 T5 的解决方案。
如果有人能提供帮助——我认为这只是一个小调整?——我将不胜感激!
Sub macrorepeatsolve()
Dim myR
Dim c
Set myR = Range("T5", "T100")
For Each c In myR
SolverOk SetCell:="S5", MaxMinVal:=3, ValueOf:=1, ByChange:="T5"
SolverSolve userfinish:=True
c.Offset(0, 1).Value = Cells(5, "T").Value
Next
End Sub
对不起,我是个白痴!将不胜感激任何帮助!
最好的,
S.
Sub macrorepeatsolve()
Dim count as Integer
Set count=5
Do While count<=100
SolverOk SetCell:=Sheets("sheetname").Cells(count,19), MaxMinVal:=3, ValueOf:=1, ByChange:=Sheets("sheetname").Cells(count,20)
SolverSolve userfinish:=True
Sheets("sheetname").Cells(count,21).Value = Sheets("sheetname").Cells(count,20).Value
count=count+1
Loop
End Sub
尝试使用更像这样的东西。在这种格式中,变量 count
将允许您动态更改受影响的单元格
所以这是一个非常标准的 VBA 请求(发现有点像搜索堆栈溢出,但不完全是)。
我有一个我想要求解的基本求解器方程,但需要对单列中的 100 行求解。我正在尝试让求解器:
- 将单元格 S5 定位为值 = 1
- 通过更改单元格 T5
- 在U5中输出
- 一直这样下去目标S6,改变T6,输出U6; S7、T7、U7……等到S100、T100、U100。
这是一个简单的功能,但我似乎无法让它工作。现在代码(粘贴在末尾)输出 S5 到 T5 的解决方案,一直到 U 列。所以它只是在 U5、U6、U7 等中重复 S5 到 T5 的解决方案。
如果有人能提供帮助——我认为这只是一个小调整?——我将不胜感激!
Sub macrorepeatsolve()
Dim myR
Dim c
Set myR = Range("T5", "T100")
For Each c In myR
SolverOk SetCell:="S5", MaxMinVal:=3, ValueOf:=1, ByChange:="T5"
SolverSolve userfinish:=True
c.Offset(0, 1).Value = Cells(5, "T").Value
Next
End Sub
对不起,我是个白痴!将不胜感激任何帮助!
最好的, S.
Sub macrorepeatsolve()
Dim count as Integer
Set count=5
Do While count<=100
SolverOk SetCell:=Sheets("sheetname").Cells(count,19), MaxMinVal:=3, ValueOf:=1, ByChange:=Sheets("sheetname").Cells(count,20)
SolverSolve userfinish:=True
Sheets("sheetname").Cells(count,21).Value = Sheets("sheetname").Cells(count,20).Value
count=count+1
Loop
End Sub
尝试使用更像这样的东西。在这种格式中,变量 count
将允许您动态更改受影响的单元格