如何为所有Excel工作表同时删除多个行范围?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为所有Excel工作表同时删除多个行范围?相关的知识,希望对你有一定的参考价值。

我有一个大约50张的excel文件,为此我需要删除以下行范围:57-62、113-118、169-174等我需要这样做,因为有不连续的行。我的意思是我有来自行的数据(1-56),然后有单词污染了我的数据(113-118),然后清除了数据,依此类推。因此,我想同时删除所有Excel工作表的多个行范围。

我正在尝试使用此代码:

Sub WorksheetLoop1()

    Dim ws As Worksheet

    For Each ws In ActiveWorkbook.Worksheets
        ws.Range("57:62").EntireRow.Delete
    Next ws

End Sub
Sub WorksheetLoop2()

    Dim ws As Worksheet

    For Each ws In ActiveWorkbook.Worksheets
        ws.Range("113:118").EntireRow.Delete
    Next ws

End Sub

但是当我运行第一个代码(Sub WorksheeyLoop1()),然后运行下一个代码时,这是一个错误。的范围显然从113-118变为107-112。我不要我想为每个excel工作表同时运行所有代码(同时消除多个行范围),所以我不必更改每个代码的行范围。。您能否建议这样做的VBA代码?

提前感谢!

答案

[删除多行时,节首先从最高的行号开始,然后向下进行,这样您的行就不会受到移位的影响。这样的事情应该可以解决您的问题。

以上是关于如何为所有Excel工作表同时删除多个行范围?的主要内容,如果未能解决你的问题,请参考以下文章

C#将一个excel工作表根据指定范围拆分为多个excel文件

如何使用 vba 从具有多个数据字段的 excel 数据透视表中删除小计

删除多个单元格时不会发生 Excel 工作表更改事件

如何为所有行中所有字段中的所有表替换 MySQL 数据库中的字符串?

excel工作表如何设置公式,如A1不为空,则C1返回B1的值

EXCEL中利用VBA一次性撤销与保护多个工作表的问题?