如何使用VBA在多行中重复Excel解算器?

时间:2015-05-15 17:05:35

标签: excel vba loops solver

所以这是一个非常标准的VBA请求(发现它有点像搜索堆栈溢出,但不完全)。

我有一个基本的求解器方程式,我想解决,但需要在一列中对100行进行此操作。我正试图让解决者:

  1. 将单元格S5指定为值= 1
  2. 通过更改单元格T5
  3. 在U5中输出
  4. 用目标S6一直这样做,改变T6,输出U6; S7,T7和U7 ...等到S100,T100和U100。
  5. 这是一个简单的功能,但我似乎无法让它工作。现在代码(粘贴在最后)输出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.

1 个答案:

答案 0 :(得分:0)

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将允许您动态更改受影响的单元格