excel - 删除 Excel 中的增量行

标签 excel vba row increment delete-row

我有一整年的 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/

相关文章:

python - VBA 中的 HMAC-SHA1 URL 加密产生不正确的输出

mysql - DBMS 中的最大行数

javascript - 使用 jQuery 检索表中的上一行和下一行

excel - 使用VBA代码在excel中查找循环链接

Excel - 当单元格包含某些文本但平均值不为零时列中的平均值

vba - 在 Excel 2013 中隐藏非事件工作表中的行

ios - iphone app点击删除崩溃

vba - 通过 VBA 设置单元格公式时出现 #NAME 错误。

excel - 动态自动填充目标

vba - 使用 VBA Excel 将列中的数字与另一列中的相同数字匹配