0

複数のデータ行でソルバーを繰り返そうとしています。これまでの私のコードは次のとおりです。私はこれが初めてで、これは2行で行います。最後の行まで実行したいと思います。同様の質問からの回答を読んだ後、範囲行に追加しました。

Sub prgopt()
'
' prgopt Macro
'

'
    SolverOk SetCell:="$C$2", MaxMinVal:=2, ValueOf:=0, ByChange:="$A$3:$B$3", _
        Engine:=1, EngineDesc:=" GRG Nonlinear "
    SolverSolve
    Range("$C$2").Offset(Count, 0).Select
    SolverOk SetCell:="$C$3", MaxMinVal:=2, ValueOf:=0, ByChange:="$A$3:$B$3", _
        Engine:=1, EngineDesc:=" GRG Nonlinear "
    SolverSolve
    End Sub

お時間をいただき、ありがとうございます。

4

1 に答える 1

0

これを試して:

Sub prgopt()

'
' prgopt Macro
'

'

    Dim c As Range
    dim nRows as int
    nRows = 2
    For Each c In Range("$C$2:$C$3")
        SolverOk SetCell:=c.Address, MaxMinVal:=2, ValueOf:=0, ByChange:=c.Offset(0, -nRows).Resize(1, nRows), _
            Engine:=1, EngineDesc:=" GRG Nonlinear "
        SolverSolve userfinish:=True
        SolverFinish keepfinal:=1
    Next

    End Sub

必要に応じて範囲と nRows (因子範囲の幅) を変更します。お役に立てれば。

于 2013-06-28T01:28:38.440 に答える