我有三张纸,我想一步从特定的行中清除它们的内容。
所以我尝试了这段代码..但是我必须为每张表重复一遍
didSelectRowAt
所以我想要的是将纸张作为阵列和一步清除特定行的内容
如下面的代码..但是这段代码清除了所有&我想保留一些行
Worksheets("Sheet1").Rows(5 & ":" & Worksheets("Sheet1").Rows.Count).ClearContents
答案 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