我想从Excel中删除一个表,包括标题,第一行和总计。
我将表名定义为字符串(TableName)。
我找到了
Range(TableName).Delete
将删除DataBodyrange但保留标题和第一行。和
Range(TableName).ListObject.Delete
将删除整个表但留下空白。
我需要使用哪些代码删除整个表并且不留空格?
答案 0 :(得分:1)
你可以单独做(事实上,据我所知,你必须)。在我的例子中,你不知道表的位置,但是如果你确实知道了起始单元格,那么显然你可以把常量放在第一个而不是第一个。
Sub deltable()
Dim lastrow As Long
Dim firstrow As Long
Dim firstcol As Long
Dim lastcol As Long
Dim mytable As ListObject
Set mytable = Sheets("Sheet1").ListObjects("Table3")
firstrow = mytable.ListRows(1).Range.Row - 1
lastrow = mytable.ListRows.Count + firstrow + 1
firstcol = mytable.ListColumns(1).Range.Column - 1
lastcol = mytable.ListRows.Count + firstcol + 1
mytable.Unlist
Sheets("Sheet1").Range(Cells(firstrow, firstcol), Cells(lastrow, lastcol)).Delete shift:=xlUp
End Sub