如何删除表格中除前两行之外的所有行(标题是第一行)

如何删除表格中除前两行之外的所有行(标题是第一行)

我有一张表格,其他人每周都会将新数据粘贴到其中。每周粘贴的数据将按行而不是列更改大小。我已经将这个过程自动化,直到我保留第一行,这样公式就不会被删除。这一切都是通过我分配了代码的按钮完成的。现在我需要删除表格的其余行。这是我目前为止可以使用的代码:

Sub ShrinkTable()
    Range("RDNPPD[[#Headers],[Follow Up by Corp Security]]").Select
    ActiveSheet.ListObjects("RDNPPD").ListRows(ActiveCell.Row - 
    1).Range.Select
    Range(Selection, Selection.End(xlDown)).Select    
End Sub

Sub DeleteRows()
    Selection.ListObject.ListRows(2).Delete
    Selection.ListObject.ListRows(2).Delete
    Selection.ListObject.ListRows(2).Delete
    Range("RDNPPD[[#Headers],[Follow Up by Corp Security]]").Select
End Sub

RE: Sub DeleteRows() - 我录制了一个宏,第一行代码重复删除表中的行,每次使用时都会发生变化,因此不起作用。要删除的第一行将始终保持不变:第 5 行。这是代码需要考虑动态的最后一行。

如何删除动态环境的选择?非常感谢!

答案1

这重复了您的录音操作 - 删除表格的最后一行,直到只剩下一行

它会关闭ScreenUpdatingCalculation使其更快;最后它会将它们重新打开


Option Explicit

Public Sub ShrinkTable()

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual

    With ThisWorkbook.Worksheets("Sheet3")              'Update Sheet Name
        If .ListObjects.Count > 0 Then
            With .ListObjects("RDNPPD")
                While .ListRows.Count > 1               'Delete last row until first
                    .ListRows(.ListRows.Count).Delete
                Wend
            End With
        End If
    End With

    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic

End Sub

前

后

TableListObject) 结构


桌子

相关内容