从特定工作表中删除最后10行 - Excel

时间:2017-07-17 14:54:29

标签: excel vba excel-vba

我试图从Excel文件的特定工作表(Sheet1,Sheet2和Sheet3)中删除最后10行。我试过以下代码。

Sub Macro1()
    Dim Tables As Variant
    Dim rLastRow As Range
    Dim InxW As Long

    Tables = Array("sheet1", "sheet2", "sheet3")

    For InxW = LBound(Tables) To UBound(Tables)
        With Worksheets(Tables(InxW))
            rLastRow = Cells(Rows.Count, "A").End(xlUp)
            rLastRow.Offset(-9).Resize(10).EntireRow.Delete
        End With
    Next InxW
End Sub

我得到的错误是在线:

rLastRow.Offset(-9).Resize(10).EntireRow.Delete

消息:

  

运行时错误' 91':
  对象变量或未设置块变量

感谢任何帮助。
在此先感谢。

1 个答案:

答案 0 :(得分:5)

这样的事情:

With Worksheets(Tables(InxW))

        .Cells(Rows.Count, "A").End(xlUp). _
              Offset(-9).Resize(10).EntireRow.Delete

End With

但您还应添加一项检查,确认至少有10行可以删除。