VBA 删除工作表后 N 行:完整代码和步骤

在 VBA 中删除工作表的后 N 行,可以使用以下代码:

Sub DeleteLastNRows(n As Integer)
    Dim ws As Worksheet
    Dim lastRow As Long
    
    ' 设置要删除行的工作表
    Set ws = ThisWorkbook.Worksheets('Sheet1') ' 替换为你的工作表名称
    
    ' 获取工作表中最后一行的行号
    lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
    
    ' 删除后 n 行
    If n <= lastRow Then
        ws.Rows(lastRow - n + 1 & ':' & lastRow).Delete
    End If
End Sub

步骤解释:

  1. 设置工作表: 首先,使用 Set ws = ThisWorkbook.Worksheets('Sheet1') 设置要删除行的目标工作表。请务必将 'Sheet1' 替换为你的实际工作表名称。

  2. 获取最后一行: 使用 lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row 获取工作表中最后一行的行号,确保准确找到要删除的行区域。

  3. 删除后 N 行: 利用 If n <= lastRow Then 判断 N 是否小于或等于最后一行的行号,防止删除超出工作表范围的行。 如果满足条件,使用 ws.Rows(lastRow - n + 1 & ':' & lastRow).Delete 删除后 N 行。

重要提醒:

在执行代码前,强烈建议备份工作表,以防意外删除错误的行。

你可以将上述代码粘贴到 VBA 编辑器中的一个新子过程中,然后通过调用 DeleteLastNRows 方法,并传入要删除的行的数量(N),即可实现删除工作表后 N 行的功能。

VBA 删除工作表后 N 行:完整代码和步骤

原文地址: https://www.cveoy.top/t/topic/Q5i 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录