如果行的单元格范围遵循if条件,我创建了一个宏来删除整行。到目前为止的问题是宏实际上没有删除应该删除的所有行,我不知道为什么。我已经测试了很多次但没有结果。我应该提一下,该范围是从另一个工作表中复制粘贴的,但我已经使这部分工作了。所以,我不认为那里有问题。我提供了我的Excel工作表的截图和下面的代码。
Suppliers.propTypes = {
match: PropTypes.object.isRequired,
location: PropTypes.object.isRequired,
history: PropTypes.object.isRequired
}
答案 0 :(得分:4)
删除行时,您需要向后循环。
使用下面的循环并将其替换为最后一个循环:
Thread.Sleep
注意:您可以使用Dim i As Long
With Sheets("Report_Copy")
lastrow3 = .Cells(.Rows.Count, "K").End(xlUp).Row
For i = lastrow3 To 25 Step -1
Set cell = .Range("L" & i)
If cell.Value < 0.5 And cell.Offset(0, 1).Value < 0.5 And cell.Offset(0, 2).Value < 0.5 And cell.Offset(0, 3).Value < 0.5 And cell.Offset(0, 4).Value < 0.5 And cell.Offset(0, 5).Value < 0.5 And cell.Offset(0, 6).Value < 0.5 And cell.Offset(0, 7).Value < 0.5 And cell.Offset(0, 8).Value < 0.5 And cell.Offset(0, 9).Value < 0.5 Then
cell.EntireRow.Delete
End If
Next i
End With
函数使用相同的标准<0.5
重新生成多个单元格条件:
CountIf
答案 1 :(得分:1)
当删除行索引移动到循环中的下一个元素时。如果两行符合要求,则不会删除底行。
用于下一个循环。示例删除了stop
中值为1的所有行:
range(A1:A4)