资源描述:
《矿料合成级配表格设计方法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、[原创]VBA调用‘规划求解’自动合成矿料级配试验检测技术人员都知道,已知五、六档甚至七档集料计算合成成符合技术规范及级配关键点的控制要求,是非常消耗脑力和时间,特别是没有经验的检测人员更困难。因此我们可利用计算机的信息处理能力,为我们分忧解难。Excel是办公中最常用的办公软件之一,其功能非常强大,能利用好相关功能,会有意想不到的效果。规划求解也称作“假设分析”,是一个非常好用的工具,经常用于查看更改某些单元格中的变量对工作表中公式结果的影响,例如:1、根据已知结果倒推变量应赋予的初值:已知各档级配通过率及矿料的级配范围,可以用单变量求解、
2、循环引用,也可规划求解得出配合比例。2、根据已知参数和配比,寻找最佳组合方案:这种应用案例居多。利用Excel2003提供的规划求解可以进行级配合成、最佳沥青用量的选定、沥青混合料拌和楼的标定等问题. 常规操作规划求解过程中,美中不足的是除了限制变量个数、求解时间有时候比较长外,还有是如果变量不多、算法也不难,但有许多需要求解的值,而每一次改变都要重复操作,弹出规划求解对话框、求解。以上常规操作无法避免的问题,在利用VBA调用规划求解宏却可以很好的解决。从而更好的提高工作效率。通过工程上最常用的配合比级配比例的选定(例子为沥青混合料配合比)进
3、行说明. 代码如下: Subww() '取消密码保护 ActiveSheet.UnprotectPassword:=123 Range("C4:C11").Select Selection.ClearContents '全部重设 SolverReset '规划求解参数设置Solveroksetcell=设置目标单元格: 'MaxMinVal对应于是否要解决目标单元对最大值(1)、最小值(2),或特定值(3) 'ValueOf指定要匹配目标单元值。如果您设置MaxMinVal为3,必须指定该参数。
4、 '如果将设置为1或2,MaxMinVal才能省略该参数。 'ByChange指定单元格或区域的单元格,将更改 'SolverAdd(CellRef,关系,FormulaText) '1值是否小于或等于=< '2vaue等于(=)。 '3值是否大于或等于>= '4值是整数 '5是二进制(值是零或一个) 'FormulaText引用一个或多个单元格构成右边的constraint Solveroksetcell:=Range("$D$12"),maxminval:=3,ValueOf:=100,bychan
5、ge:=Range("c4:c11") SolverAddCellRef:=Range("d12"),Relation:=2,FormulaText:=Range("q12") SolverAddCellRef:=Range("d12"),Relation:=3,FormulaText:=Range("d17") SolverAddCellRef:=Range("d12"),Relation:=1,FormulaText:=Range("d16") SolverAddCellRef:=Range("e12"),Rela
6、tion:=3,FormulaText:=Range("e17") SolverAddCellRef:=Range("e12"),Relation:=1,FormulaText:=Range("e16") SolverAddCellRef:=Range("f12"),Relation:=3,FormulaText:=Range("f17") SolverAddCellRef:=Range("f12"),Relation:=1,FormulaText:=Range("f16") SolverAddCellRef:=Ran
7、ge("g12"),Relation:=3,FormulaText:=Range("g17") SolverAddCellRef:=Range("g12"),Relation:=1,FormulaText:=Range("g16") SolverAddCellRef:=Range("h12"),Relation:=3,FormulaText:=Range("h17") SolverAddCellRef:=Range("h12"),Relation:=1,FormulaText:=Range("h16") SolverA
8、ddCellRef:=Range("i12"),Relation:=3,FormulaText:=Range("i17") SolverAddCellRef: