2014-07-15 5 views
0
Sub SolverMacro() 
' 
' SolverMacro Macro 
' 

' 
    Range("F29").Select 
    SolverOk SetCell:="$F$29", MaxMinVal:=2, ValueOf:=0, ByChange:="$B$18:$D$26", _ 
     Engine:=1, EngineDesc:="GRG Nonlinear" 
    SolverOk SetCell:="$F$29", MaxMinVal:=2, ValueOf:=0, ByChange:="$B$18:$D$26", _ 
     Engine:=1, EngineDesc:="GRG Nonlinear" 
    SolverSolve 
    ActiveWindow.SmallScroll Down:=-12 

    If (Range("f29").Value > Range("b2").Value) Then 
     MsgBox "Not Feasible" 
    Else 
     MsgBox "Feasible" 
    End If 


End Sub 

안녕하십니까. 버튼을 클릭하면 버튼이 위의 매크로를 실행합니다. 솔버 기능을 수행합니다. 그러나 드롭 다운 목록에서 나에게 주어진 100 가지 조건을 실행하고 싶습니다. 위의 내용을 for 루프에 넣고 솔버를 하나씩 차례대로 실행하십시오. 드롭 다운 목록은 A2 셀에 있습니다. 감사.드롭 다운 목록의 매크로

답변

0

원하는 것을 원하십니까?

For i = 1 to 100 

    'Change "MyDropDownList" to your DDL's name 
    MyDropDownList.ClearSelection() 
    MyDropDownList.Items(i).Selected = True 

    Range("F29").Select 
    SolverOk SetCell:="$F$29", MaxMinVal:=2, ValueOf:=0, ByChange:="$B$18:$D$26", _ 
     Engine:=1, EngineDesc:="GRG Nonlinear" 
    SolverOk SetCell:="$F$29", MaxMinVal:=2, ValueOf:=0, ByChange:="$B$18:$D$26", _ 
     Engine:=1, EngineDesc:="GRG Nonlinear" 
    SolverSolve 

    'Repeating the scroll in a loop is not a good idea IMO, you should just remove it 
    'ActiveWindow.SmallScroll Down:=-12 

    If (Range("f29").Value > Range("b2").Value) Then 
     MsgBox "Not Feasible" 
    Else 
     MsgBox "Feasible" 
    End If 
Next