Excel解算器VBA
我在Excel VBA宏中创建的解算器模型中的一个方程如下所示:Excel解算器VBA,excel,vba,Excel,Vba,我在Excel VBA宏中创建的解算器模型中的一个方程如下所示: SolverAdd CellRef:="$M$18:$M$30", Relation:=2, FormulaText:="$N$18:$N$30" 我如何实现它,使行号“18”是一个可以作为另一个单元格的输入读取的值?例如,单元格A1的值可能为18,这是我想要在这个等式中使用的值。如果A1中的值为10,则方程式应为: SolverAdd CellRef:="$M$10:$M$30", Relation:=2, FormulaTe
SolverAdd CellRef:="$M$18:$M$30", Relation:=2, FormulaText:="$N$18:$N$30"
我如何实现它,使行号“18”是一个可以作为另一个单元格的输入读取的值?例如,单元格A1的值可能为18,这是我想要在这个等式中使用的值。如果A1中的值为10,则方程式应为:
SolverAdd CellRef:="$M$10:$M$30", Relation:=2, FormulaText:="$N$10:$N$30"
同样,变量定义为:
SolverOk SetCell:="$H$47", MaxMinVal:=2, ValueOf:=0, ByChange:="$H$18:$J$30,$R$18:$R$30", _
Engine:=1, EngineDesc:="Simplex LP"
同样,当单元格A1中的数字值从18变为10时
变量应从“$H$18:$J$30,$R$18:$R$30”
更改为“$H$10:$J$30,$R$10:$R$30”
如有任何建议,我将不胜感激
非常感谢。- 要将变量用作输入,请使用以下命令:
或input\u variable=.Cells(1,1)
,并更改为input\u variable=Range(“A1”)
“$M”&input\u variable&:$M$30
- 另一种选择是使用,它非常有用,因为您可以在Excel中使用几乎所有著名的optmization库进行建模
- 要将变量用作输入,请使用以下命令:
或input\u variable=.Cells(1,1)
,并更改为input\u variable=Range(“A1”)
“$M”&input\u variable&:$M$30
- 另一种选择是使用,它非常有用,因为您可以在Excel中使用几乎所有著名的optmization库进行建模
在我的课堂上,我学习AMPL,因此使用SolverStudio编程比使用Excel VBA更容易,因为SolverStudio的语言专注于优化问题。您是否尝试过使用附加SolverStudio?它真的很有用。但是,如果您希望将变量用作输入,请使用以下命令:
input\u variable=.Cells(1,1)
或input\u variable=Range(“A1”)
,并更改为“$M”&input\u variable&“:$M$30
太棒了!这很有效。谢谢Daniel。您尝试过使用附加解决方案Studio吗?它真的很有用。但是,如果您希望将变量用作输入,请使用以下命令:input\u variable=.Cells(1,1)
或input\u variable=Range(“A1”)
,并更改为“$M”&input\u variable&“:$M$30
太棒了!这很有效。丹尼尔:太好了!我不知道SolverStudio,所以我会查一查。丹尼尔:太好了!我不知道SolverStudio,所以我会检查一下。