-2
我有一个表,其中C列是从最大值到最小值的数值。如果C列值大于40,则宏将删除整个表格行。我使用下面的宏:如何根据VBA中的条件删除行?
Sub DeleteRowsPiuDi40Mega()
Dim LastRow As Long
Dim ws4 As Worksheet
Set ws4 = ActiveWorkbook.Sheets("atm_hh")
LastRow = ActiveSheet.Range("C" & ActiveSheet.Rows.Count).End(xlUp).Row
For i = 2 To LastRow
If Cells(i, 3) > 40 Then Rows(i & ":" & i).EntireRow.Delete
Next i
End Sub
的问题是,删除它停止一些行,之后仍然留在C列的某些值是> 40.什么可能是错误的,此代码?
你必须删除反向'行对于i = LASTROW 2步骤-1'所以它不跳过行。此外,你正在努力实现已经被回答。让我为你搜索链接 – 2014-10-03 09:06:41
你可以使用[THIS](http://stackoverflow.com/questions/9379673/excel-vba-delete-empty-rows)方法。 – 2014-10-03 09:10:21