删除表格行

时间:2018-03-27 04:11:44

标签: excel vba excel-vba excel-2016

我的Excel中有Table。该表名为Table1

我想删除表格的第一行以外的整行,它可以手动完成,例如选择行然后删除表格行,但我无法想象该行是否达到了超过一百万条记录。我尝试了以下代码:

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

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

  

这不会起作用,因为它会在工作表的表格中移动单元格。

有没有人和我有同样的问题?建议请。

5 个答案:

答案 0 :(得分:3)

如果您的工作表中只有一个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

如果没有,您可以明确地识别您的表格,如:

Set lo = .ListObjects("Table1")

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

Sub dr()
Dim a As Integer

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

End Sub

答案 3 :(得分:0)

选择第二行。按 Shift + ctrl + 向下。这将选择除标题之外的所有记录。 右键单击并选择删除。

答案 4 :(得分:-1)

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

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