我有一整年的 24 小时每小时数据,每天之间有 3 行不必要的行(一组 24 小时行)。我想删除所有这些不必要的行。我目前的方法是增加 24 个空格,删除 3 行,然后循环回到 24 个空格的增量,直到最后一行 (lRow) 的值 <1,在这种情况下循环将停止。请参阅下面的我当前的代码:
Sub Delete_Rows()
Dim lRow
lRow = 9468
Do While lRow >= 1
lRow = lRow - 24
Sheets("Sheet 1").Rows(lRow).Delete
lRow = lRow - 1
Sheets("Sheet 1").Rows(lRow).Delete
lRow = lRow - 1
Sheets("Sheet 1").Rows(lRow).Delete
Loop
End Sub
但是,我不断收到运行时错误:这一行的 1004:
Sheets("Sheet 1").Rows(lRow).Delete
我无法弄清楚为什么会这样,并且感谢任何帮助或实现此目标的替代方法。
最佳答案
蒂姆是绝对正确的。现在,我认为一一删除行在速度方面是昂贵的,所以不妨试试下面。
Dim c As Range, rngtodelete As Range
For Each c in Sheets("SheetName").Range("A1:A9468") 'change this to suit
If c.Value <> "" Then
If rngtodelete Is Nothing Then Set rngtodelete = c _
Else Set rngtodelete = Union(rngtodelete, c)
End If
Next
If not rngtodelete Is Nothing Then rngtodelete.EntireRow.Delete xlUp
关于excel - 删除 Excel 中的增量行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28713111/