清除特定行的工作表数组的内容

时间:2017-09-03 17:25:00

标签: vba excel-vba excel

我有三张纸,我想一步从特定的行中清除它们的内容。

所以我尝试了这段代码..但是我必须为每张表重复一遍

didSelectRowAt

所以我想要的是将纸张作为阵列和一步清除特定行的内容

如下面的代码..但是这段代码清除了所有&我想保留一些行

Worksheets("Sheet1").Rows(5 & ":" & Worksheets("Sheet1").Rows.Count).ClearContents

1 个答案:

答案 0 :(得分:2)

jsotola是正确的,没有办法一步到位。但是,有一种方法可以在一个代码块中执行此操作,因此您不必重复自己。

如果这些是工作簿中的唯一工作表,则可以遍历Workbook.Worksheets集合并清除每个工作簿的内容。

Dim ws as Worksheet
For Each ws in ThisWorkbook.Worksheets
    With ws
       .Rows("5:" & .Rows.Count).ClearContents
    End With
Next ws

如果您不想触摸工作簿中的其他工作表,则可以使用If语句相应地调整循环,例如下面。

If ws.Name = "Sheet1" or ws.Name = "Sheet2" or ws.Name = "Sheet 3" Then