我无法使用这段代码来删除不代表实际最小值的行。它根本不起作用,我亲手验证了逻辑。我想要检查的是第1行第2列中单元格的值是否大于第2行第2列。如果是这种情况,则完全删除第1行。我找到了类似于此循环的示例,但查找某个字符串值而不是将单元格值与逻辑语句进行比较。我已经做了检查,以确保它引用正确的工作表,并了解删除功能的工作原理。我还使用LRow + 1
代替LRow - 1
测试了代码。我做错了什么?
Sub rowdelete()
Dim LRow As Long
With Worksheets("WWOutput")
For LRow = Cells(Rows.Count, 2).End(xlUp) To Cells(7, 2) Step -1
If Cells(LRow, 2) > Cells(LRow - 1, 2) And Cells(LRow, 2) < 10000 Then
Rows(LRow).EntireRow.Delete
End If
Next LRow
End With
End Sub
以下是一些示例数据。
11804.6875
6415.625095
6333.593845
3786.718845
11841.40682
在这种情况下,我想留下的所有数据都是
11804.6875
3786.718845
11841.40682
提前谢谢你!
答案 0 :(得分:0)
Sub rowdelete()
Dim LRow As Long
With Worksheets("Sheet1")
For LRow = .Cells(Rows.Count, 2).End(xlUp).Row To Cells(7, 2).Row Step -1
If .Cells(LRow, 2) > .Cells(LRow - 1, 2) And (.Cells(LRow, 2) < 10000) Then
.Rows(LRow).EntireRow.Delete
End If
Next LRow
End With
End Sub