删除 Table 行

Delete Table Rows

我的 Excel 中有一个 Table。 table 被称为 Table1

我想删除除 table 的第一行之外的整行,它可以手动完成,例如 select 该行然后删除 table 行,但我不能想象一下,如果该行达到超过一百万条记录。我尝试了以下代码:

Sheet3.Range("A20","E500000").Delete 2

但是上面的代码是错误的。错误说:

This won't work because it would move cells in a table on your worksheet.

有没有人和我有同样的问题?请多多指教

如果您的 sheet 中只有一个 Table 对象,请尝试以下操作。

Dim lo As ListObject

With Sheet3 '/* sheet code name */
    Set lo = .ListObjects(1)
    On Error Resume Next
    lo.DataBodyRange.Delete xlUp
    On Error GoTo 0
End With

如果不是,您可以明确识别您的 table,例如:

Set lo = .ListObjects("Table1")

由于@Haminteu想保留表头和第一行数据,我提供如下解决方案。

With Range("Table1")
  .Offset(1).Resize(.Rows.Count - 1).Delete 2
End With

我想你想删除除 header 之外的所有行,如果是这样,你可以像这样使用 DataBodyRange:

ActiveSheet.ListObjects("Table1").DataBodyRange.Delete

所以 table 的第二行从单元格 A20 开始? 如果是这样,您只想删除行直到最后一个单元格,然后代码:

Sub dr()
Dim a As Integer

a = ActiveSheet.UsedRange.Rows.Count
Range(Range("A20"), Range("A" & a)).EntireRow.Delete

End Sub

Select 第二行。按Shift+ctrl+向下。这将 select 除 header 之外的所有记录。 右键单击并 select 删除。