如何让for循环在我的工作簿中的所有工作表上工作?

时间:2013-09-07 21:07:04

标签: excel vba excel-vba

简单的问题,我觉得自己像个不知道这个的白痴。发生的事情是我从几个word文档导入了一些数据,它给我留下了所有工作表上的一些无关数据。我想通过并自动删除每张纸的前三行(通常我不介意,但对于100多张纸,它有点烦人)。

这是我到目前为止所尝试的内容:

Sub delete_rows()

Dim delRange As Range
Dim wkSheet As Worksheet

For Each wkSheet In ThisWorkbook

   Set delRange = Rows("1:3")
   delRange.Delete
Next wkSheet

End Sub

我把这个错误踢了回来:

“运行时错误'438':

object不支持此属性或方法“

错误在for循环开始时出现。

我有机会得到一些帮助吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

您使用的是Worksheet类型而不是变量。您也没有在For Each循环中引用Worksheets集合。

For Each wkSheet in ThisWorkbook.Worksheets
    '...
Next wkSheet

此外,如果您只删除3行,则无需使用变量。你可以直接做:

Rows("1:3").Delete
相关问题