[英]Delete rows based off adjacent cell value- VBA
我在这段代码上遇到麻烦,无法删除不代表实际最小值的行。 它根本行不通,我已经手工验证了逻辑。 我要检查的是,第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
提前谢谢你!
就像他们说的...
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.