Excel VBA-删除列数据为零的行

我想清理一些电子表格数据,因此我有下面的代码来删除列10的数字为0的所有行。问题是,当我运行的代码,它删除所有的行。

任何人都可以突出显示我的代码到底是什么问题?

Sub Format() Dim Fund As Long Dim TotalLoop As Long RowCount = Range("A65536").End(xlUp).Row For TotalLoop = RowCount To 2 Step -1 Fund = Cells(TotalLoop, 10) If Fund = 0 Then Rows(TotalLoop).Delete Cells(TotalLoop - 1, 10) = Fund End If Next TotalLoop End Sub 

只要删除下面的行并执行你的代码。 它会工作

 Cells(TotalLoop - 1, 10) = Fund 

在您的代码中,您将下一个未删除行的值更改为基金的值,为了执行代码,这个值为零。 删除线Cells(TotalLoop - 1, 10) = Fund和您的循环将按需要运作

子格式()

 Dim sh As Worksheet Dim Fund As Long Dim TotalLoop As Long Set sh = ThisWorkbook.Sheets("Sheet1") RowCount = sh.Range("A1", sh.Range("A1").End(xlDown)).Rows.Count For TotalLoop = RowCount To 2 Step -1 Fund = Cells(TotalLoop, 10) If Fund = 0 Then Rows(TotalLoop).Delete End If Next TotalLoop 

结束小组