我的Excel中有Table
。该表名为Table1
。
我想删除表格的第一行以外的整行,它可以手动完成,例如选择行然后删除表格行,但我无法想象该行是否达到了超过一百万条记录。我尝试了以下代码:
Sheet3.Range("A20","E500000").Delete 2
但上面的代码是错误的。错误说:
这不会起作用,因为它会在工作表的表格中移动单元格。
有没有人和我有同样的问题?建议请。
答案 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