Excel 请问vba中怎么调用规划求解

Excel 请问vba中怎么调用规划求解,第1张

先要在 Visual Basic 编辑器中添加对“规划求解”的引用

1、先在“Excel 选项”对话框中启用规划求解加载项。

2、Visual Basic 编辑器中,单击“工具”菜单上的“引用”,然后选择“可使用的引用”下面的“规划求解”。英文版可能显示是“Solver”。

Sub tt()

Dim i As Integer

For i = 3 To 100

SolverReset

SolverOk SetCell:="$L$" &i, MaxMinVal:=3, ValueOf:="0", byChange:="$G$" &i &":$J$" &i

SolverAdd CellRef:="$G$" &i &":$J$" &i, Relation:=4, formulaText:="整数"

SolverAdd CellRef:="$G$" &i &":$J$" &i, Relation:=1, formulaText:="10"

SolverAdd CellRef:="$G$" &i &":$J$" &i, Relation:=3, formulaText:="0"

SolverOk SetCell:="$L$" &i, MaxMinVal:=3, ValueOf:="0", byChange:="$G$" &i &":$J$" &i

SolverSolve Userfinish = False

Next i

End Sub

上面这段是我以前做的规划代码你比较一下

你前面好像 SolverReset 没有重置

还有最后SolverSolve Userfinish = False 我用的时候是用的FALSE 就是最后规划的时候那个提示我是过滤掉的

还有 在VBA界面要把工具 引用 SOLVER勾上

最后你录制的代码中可能有错误的 VBA录制规划求解的时候 有的代码是错的

上面的ByChange 你自己改过来了其他要还有报错 你再改下看看

我搞了半天没搞请你代码 你把问题描述一下

[email protected] 我给你录代码吧

我测试了一下 加上SolverReset是可以的 就是最后面的

Engine:=1, EngineDesc:="GRG Nonlinear"

我这里没这参数 你用的EXCEL 07么 我这里提示找不到参数删除这段我就可以运行了

excel2007中,规划求解在追加功里了吧(我用的韩文版,的中文版不知道是否叫这个)

excel选项-追加功能->新增->查找查询功能,好像是这个,你再百度下,至于vba里就不知道了


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11760632.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存