Excel解算器使用宏

时间:2016-11-27 17:01:02

标签: excel vba excel-vba solver

我有一个包含300行数据的excel文件,我需要在每行中使用一个求解器。通过改变单元格H9,在列K的每个单元中存在等式为零的等式。

解决方案:

  • 目标单元格:K9(应该等于“0”)
  • 通过更换单元格:H9
  • 输出单元格:H9

解算器应该从第9行到第309行。

我可以在互联网上找到很多类似的问题,但我无法修改编程代码到我的情况。

*Sub Macro2()
' Macro2 Macro
'
Sneltoets: Ctrl+v
'
Dim c As Range
Dim nRows As Integral
nRows = 300
For Each c In Range("$H$9:$H$309")
        SolverOk SetCell:=c.Offset(0, 3), MaxMinVal:=3, ValueOf:=0, ByChange:=c.Address, _
            Engine:=1, EngineDesc:=" GRG Nonlinear "
        SolverSolve userfinish:=True
        SolverFinish keepfinal:=1
Next
End Sub*

这是我第一次在Excel中编程。

如果有人可以帮助我,我真的很感激!

1 个答案:

答案 0 :(得分:0)

我尝试了下面的脚本,它对我来说很好。您可能需要添加一两个小调整,以使其完全符合您的要求,但根据我对您的需求的理解,它应该非常接近您的需求。

Sub Macro2()

Dim c As Range
Dim nRows As Integer
Dim i As Integer
nRows = 300

i = 9
For Each c In Range("$H$9:$H$309")

    c.Select
    SolverOk SetCell:=Range("H" & i), MaxMinVal:=3, ValueOf:=0, ByChange:=Range("K" & i), Engine:=1 _
        , EngineDesc:="GRG Nonlinear"
    SolverSolve True
    i = i + 1

Next c
End Sub
相关问题