솔버 기능을 사용하여 솔버를 50 회 실행할 수있는 하위가 있습니다. 그러나 각 실행 후 해 찾기 결과를 복사하여 붙여 넣으려고합니다. 예를 들어 최적화 탭에서 셀 범위 E1 : O13이 해석 결과를 표시하지만 각 실행은 동일한 섹션에서 결과를 덮어 씁니다. 셀 A1에서 시작하여 다른 워크 시트 호출 "SolverResults"에 셀 범위 E1 : E13을 복사하려면 범위 A1 : K13의 솔버를 처음 실행 한 다음 셀의 두 번째 실행을 복사하여 셀 A16에 붙여 넣으십시오. K28, 등등. 복사 및 붙여 넣기 부분에서는 루프를 사용하는 방법을 모르므로 현재 SolverResults 탭에 Solver가 50 번 실행되고 F1이 끝나는 A1 : K13에 대한 데이터 섹션 하나만 표시됩니다 = 221.각 실행 후 솔버 결과 복사 및 붙여 넣기
루프를 사용하여 결과 섹션을 섹션별로 복사하고 붙여 넣는 방법을 아는 사람이 있습니까? 나는 VBA에 아주 익숙하다. 그래서 어떤 제안도 감사 할 만하다.
{Sub RRS()
For i = 0 To 50 Step 1
SolverReset
Range("F1") = 271 - i
SolverOk SetCell:="$L$13", MaxMinVal:=3, ValueOf:=0.01, ByChange:="$F$4:$F$12" _
, Engine:=1, EngineDesc:="GRG Nonlinear"
SolverOptions MaxTime:=0, Iterations:=0, Precision:=0.001, Convergence:=0.0001 _
, StepThru:=False, Scaling:=False, AssumeNonNeg:=True, Derivatives:=2
SolverAdd CellRef:="$F$4:$F$12", Relation:=1, FormulaText:="$I$4:$I$12"
SolverAdd CellRef:="$F$4:$F$12", Relation:=3, FormulaText:="$H$4:$H$12"
SolverAdd CellRef:="$F$13", Relation:=2, FormulaText:="1"
SolverSolve (True)
SolverFinish KeepFinal:=1
Worksheets("Optimization").Range("E1:O13").Copy Destination:=Worksheets("SolverResults").Range("A1")
Next i
End Sub
}
로
는 너무 스콧 감사합니다! 이제 코드가 섹션별로 결과 섹션을 복사하여 붙여 넣습니다. 하나의 질문이 있습니다. 코드가 최적화 시트에서 SolverResults 시트까지 E1 : E13 범위의 수식을 복사하여 붙여 넣는 것임을 깨달았습니다. E1 : E13에서 값과 형식을 각각 복사 한 후 SolveResults로 복사하면됩니다. 해 찾기? – jcmachine
@jcmachine - 편집을 시도해보십시오. 크기 조정 인수를 조정해야 조정될 수 있습니다. –
감사합니다. Scott! 나는 지금 그것을 시험해보고있다 :-) 당신의 도움은 높게 평가된다 :-) – jcmachine