Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel解算器VBA_Excel_Vba - Fatal编程技术网

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

我在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, 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库进行建模
随着问题的发展,Excel似乎无法解决一些问题,还有许多其他专业软件使用这些优化建模语言

如果您试图安装一些可能发生的问题,请输入此链接以解决:我的问题不同,已解决

在我的课堂上,我学习AMPL,因此使用SolverStudio编程比使用Excel VBA更容易,因为SolverStudio的语言专注于优化问题。

  • 要将变量用作输入,请使用以下命令:
    input\u variable=.Cells(1,1)
    input\u variable=Range(“A1”)
    ,并更改为
    “$M”&input\u variable&:$M$30
参考此问题了解更多方法:或

  • 另一种选择是使用,它非常有用,因为您可以在Excel中使用几乎所有著名的optmization库进行建模
随着问题的发展,Excel似乎无法解决一些问题,还有许多其他专业软件使用这些优化建模语言

如果您试图安装一些可能发生的问题,请输入此链接以解决:我的问题不同,已解决


在我的课堂上,我学习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,所以我会检查一下。