2013-06-28 50 views
0

我试图得到求解重复的多行数据。这是我的代码到目前为止。我在这方面是新的,这是2行。我希望它跑到最后一排。我在范围线加阅读来自类似问题的答复后。VBA求解循环

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 

谢谢您的时间,感谢您的帮助 Ç

+0

这取决于你想怎么循环,才有一定的次数或直到事情是真的吗? –

+0

谢谢您的答复。我只是需要它来运行求解,并在每一行优化,直到不再有。每一行都是一组独立的数据。 –

+0

@doctor,谢谢你的代码的建议。我运行该程序并没有得到预期的结果。目标是通过改变方程中的两个因子来使一系列数据组的残差平方和最小。每一行都是一组独立的数据以及它自己的等式。 –

回答

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根据需要(因子范围的宽度)。希望这可以帮助。