vba - 如果 VBA 中满足条件,则减少负载

标签 vba excel

我是 VBA 新手,正在研究一个装有电动汽车负载的 table 。我必须检查一些条件,如果条件不满足,则应减少车辆负载。

我有以下代码,但不是减少负载,例如。从 11 到 10 或 9 等,它只是从表中删除负载。附上起始案例和运行代码后的屏幕截图。

有人可以帮忙修改一下代码吗?

Sub loopwork()    
    Column = 215
    Row = 1097
    columnmove = 109

    For Column = 215 To 315
        columnmove = columnmove + 1

        For Row = 1097 To 1192
            columnload = Column - columnmove
            Cells(Row, Column).Select
            Cells(Row, Column - 211).Select
            Cells(Row, columnload).Select
            self = Cells(Row, Column)
            firstcheck = Cells(Row, Column - 211)
            loadvalue = Cells(Row, columnload)

            If ((firstcheck < -0.05 Or firstcheck > 0.05 Or loadvalue > 100) And (self > 0)) Then
                Cells(Row, Column).Select
                Cells(Row, Column) = Cells(Row, Column) - 1
                Cells(1, 1).Select
                Row = Row - 1
            End If
        Next
    Next
End Sub

运行代码之前 before running code

运行代码后 after running code

最佳答案

看一下,

If ((firstcheck < -0.05 Or firstcheck > 0.05 Or loadvalue > 100) And (self > 0)) Then

如果 self > 0 并且其他条件之一为 true,则将 self 减少 1(例如 Cells(Row, Column) = Cells(Row, Column) - 1 code>) 并将 For ... Next 迭代器调整为 -1,以便重复相同的循环。

但是,您无需更改 firstcheck 或 loadvalue 的值,因此如果它通过了一次 If 测试,它将继续通过 If 测试,直到 self 不大于 0。

这就是为什么一旦 self 为零或正如您所说的那样,循环就会退出“它只是从表中删除负载”

关于vba - 如果 VBA 中满足条件,则减少负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52253686/

相关文章:

excel - 我必须在此 VBA 代码中添加什么才能使撤消按钮在运行后继续工作?

excel - 由 VBA 关闭的工作簿未关闭引用,IsAddin 工作簿

excel - 按钮上显示的文本 Excel 宏

excel - 如果是季度的第 1 2 3 个月,如何识别 Excel 中的公式?

excel - 如何在Excel中列出重复最大值的位置?

c# - 如何强制 ADO.Net 在阅读器 TableSchema 中仅使用 System.String 数据类型

excel - 调用返回 ArrayList 的函数

excel - 将 Excel 范围作为图片粘贴到电子邮件中

excel - 使用复选框通过 Onaction 传递参数

sql-server - ODBC 调用存储过程失败 - 通过查询