이 질문이 다른 포럼에 게시 된 것을 보았지만 여기에 올랐다고 생각하지 않습니다. Solver 매크로에 할당 한 버튼을 Solver의 대상 및 변수와 다른 시트에 배치하고 싶습니다. 모든 대상과 변수는 동일한 시트에 있습니다. 즉, Sheet1의 버튼을 누르면 Solver가 Sheet2의 값을 사용하여 Sheet2에서 실행됩니다.
다른 포럼은 종종 Solver가 활성 시트 이외의 시트에서 셀을 참조 할 수 없다고 주장하지만 VBA 코드를 파고 들기를 기대했습니다. Sheet1에서 Sheet2의 값을 미러링하면 Solver를 잘 사용할 수 있음을 알고 있습니다. 그러나 이것은이 프로그램에 대한 옵션이 아닙니다.
Sheet1의 단추를 Sheet2에 포함 된 Solver 매크로를 호출하려고 시도했지만 매크로는 여전히 Sheet2가 아닌 Sheet1의 셀을 참조했습니다. (이것은 본질적으로 Sheet1의 버튼을 눌러 Sheet2의 버튼을 누르는 것입니다)
그런 다음 아래처럼 셀을 명시 적으로 설명하려고했습니다.
SolverOk SetCell:=ThisWorkbook.Sheets("Sheet2").Cells(12, 2), MaxMinVal:=2, ValueOf:=0, ByChange:=ThisWorkbook.Sheets("Sheet2").Range("$B$9:$B$10"), _
Engine:=1, EngineDesc:="GRG Nonlinear"
그러나 나는 얻는다 : 런타임 오류 '9'첨자가 범위를 벗어났다.
어떤 도움이나 지시라도 대단히 감사하겠습니다. 저는이 작업에 필요한 VBA를 배우는 고급 사용자가 아닙니다. 시간 내 주셔서 감사합니다.
Application.ScreenUpdating = False