我是VBA的新手,我正在处理带有电动汽车负载的桌子。我必须检查一些条件,如果不满足条件,应该减少汽车载重。
我有以下代码,但是没有减少负载。从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
答案 0 :(得分:2)
看看
workspaceFile=`cat ~/tensorflow/workspace.bzl`
如果If ((firstcheck < -0.05 Or firstcheck > 0.05 Or loadvalue > 100) And (self > 0)) Then
并且其他条件之一为真,则将self减1(例如self > 0
),并将For ... Next迭代器调整为-1,以便重复相同的循环。
但是,您什么也不做,无法更改firstcheck或loadvalue的值,因此,如果它一次通过了If测试,它将一直通过If测试,直到self不大于0。
这就是为什么一旦self为零或如您所说的那样退出循环的原因'它只是从表中删除负载'。