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

Chi*_*hid 0 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
Run Code Online (Sandbox Code Playgroud)

我得到的错误是在线:

rLastRow.Offset(-9).Resize(10).EntireRow.Delete
Run Code Online (Sandbox Code Playgroud)

消息:

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

任何帮助表示赞赏.
提前致谢.

Tim*_*ams 5

像这样的东西:

With Worksheets(Tables(InxW))

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

End With
Run Code Online (Sandbox Code Playgroud)

但是您还应该添加一个检查,您可以删除至少10行.