excel - 使用 Do Loop 同时根据单独的选择省略单元格
问题描述
我目前正在研究可靠性计算器,作为更广泛计算的一部分,需要以下循环:
'Add redundant units to any pieces of equipment with reliabilites lower than target
'Set Variables
DatRange = Worksheets(system).ListObjects("Table_" & system).ListColumns("Reliability of Configuration").DataBodyRange
minVal = Application.WorksheetFunction.Min(DatRange)
Do Until minVal > Target_Reliability
'Identify row of min value
Row = Application.WorksheetFunction.Match(minVal, DatRange, 0)
'Add redundancy to relevant row
quantity_fitted = Worksheets(system).ListObjects("Table_" & system).ListColumns("Quantity Fitted (n)").DataBodyRange(Row)
Worksheets(system).ListObjects("Table_" & system).ListColumns("Quantity Fitted (n)").DataBodyRange(Row) = quantity_fitted + 1
'Prime for next loop
DatRange = Worksheets(system).ListObjects("Table_" & system).ListColumns("Reliability of Configuration").DataBodyRange
minVal = Application.WorksheetFunction.Min(DatRange)
Loop
因此,通过检查“配置可靠性”列中所述的可靠性值来检查每行/行组件,以找到提供最低可靠性的行/行。然后将额外的数量添加到该行,直到其可靠性超过系统的目标可靠性,该目标由用户单独设置。
原则上这是可行的,除了在另一列中,我有一个下拉选择供用户输入特定组件是否排列在“待机”、“活动”或“系列”配置中。
我需要运行上面的代码,但要省略“配置:”列值设置为“系列”的任何行/行。
换句话说,有没有办法编辑这部分代码:
'Set Variables
DatRange = Worksheets(system).ListObjects("Table_" & system).ListColumns("Reliability of Configuration").DataBodyRange
minVal = Application.WorksheetFunction.Min(DatRange)
Do Until minVal > Target_Reliability
因此,它不是简单地找到最小值,而是找到任何也设置为“活动”或“待机”的行的最小值,而忽略该行设置为“系列”的任何值?
我希望这是有道理的。我已经为此苦苦挣扎了一段时间,真的需要帮助。
谢谢!
解决方案
推荐阅读
- python - 在python 3中将列表列表指定为命令行参数
- vba - 试图在 if then 语句中转置
- d3.js - 如何使用 dc.redrawAll() 函数 onclick?
- java - HTTPS 客户端证书请求在服务器处理大型 PUT/POST 请求时冻结
- python - 自动发现数据中的分段回归断点
- forms - Netlify 表单中的复选框显示为空
- javascript - 将动画脚本应用到不同的 Div/img
- python - 导入 Django 2.0 实用程序函数(与 django 1.1 相比)
- python - matplotlib导航栏错误'FigureCanvasTkAgg'对象在tkinter中没有属性'manager'
- php - 停止亚马逊 ec2 健康检查器检查文件