看板 Office 關於我們 聯絡資訊
大大,好像不行也, 後來我改寫成如下, 但是他還是顯示, 沒有定義這個SUB或Function。 根據他標示的來看, 他好像完全不知到SolverOK是什麼東西...囧 還沒讀到限制式就掛點了....QQ Sub Macro4() ' SolverOk SetCell:="$AH$2", MaxMinVal:=1, ValueOf:="0", ByChange:="$AF$4:$AF$30" SolverAdd CellRef:="$AA$2", Relation:=2, formulaText:="$U$2" SolverAdd CellRef:="$AE$2", Relation:=2, formulaText:="$B$2" SolverAdd CellRef:="$AF$4:$AF$30", Relation:=4, formulaText:="=integer" SolverAdd CellRef:="$AF$4:$AF$30", Relation:=2, formulaText:="$AA$4:$AA$30" SolverAdd CellRef:="$AF$4:$AF$30", Relation:=1, formulaText:="0" SolverAdd CellRef:="$V$2", Relation:=2, formulaText:="$R$2" SolverAdd CellRef:="$W$2", Relation:=2, formulaText:="$S$2" SolverOptions MaxTime:=100, Iterations:=100, Precision:=0.000001, AssumeLinear:=False, StepThru:=False, Estimates:=1, Derivatives:=1, SearchOption:=1, _ IntTolerance:=0.005, scaling:=False, Convergence:=0.0001, AssumeNonNeg:=True SolverSolve UserFinish:=True SolverFinish keepFinal:=1 SolverReset End Sub ※ 引述《kimutaka (沒有耶)》之銘言: : 因為你少了限制式..... : SolverOk SetCell:=Cells(2, 4), MaxMinVal:=2, ValueOf:="0", : byChange:="$G$8:$L$8" : 先說明一下 : sign = 1 是 >= : sign = 2 是<= : 以下類推 : sign = 3 , = : sign = 4 , int : sign = 5 , boolean : 加上限制式 : i,j,k就看你的位置而定了 : SolverAdd CellRef:=Cells(i, j), Relation:=sign, formulaText:=Cells(i, k) : SolverOptions MaxTime:=100, Iterations:=100, Precision:=0.000001, : AssumeLinear:=False, StepThru:=False, Estimates:=1, Derivatives:=1, : SearchOption:=1, _ : IntTolerance:=0.005, scaling:=False, Convergence:=0.0001, : AssumeNonNeg:=True : SolverSolve UserFinish:=True : SolverFinish keepFinal:=1 : SolverReset -- 伊蝶爾: 「接受命運的人,可以得到幸福 違抗命運的人,可以得到榮耀」 你的選擇呢.....? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.194.88.67
kimutaka:傻了..原來你不會寫VBA...儲存格要用cells或用range啦... 02/28 15:28
kimutaka:然後增益集裡頭要勾 02/28 15:29
A1pha:直接"$U$2"是可以的喔~ 03/02 19:04