Excel VBA - 删除表格(包括标题和第一行)

时间:2017-12-14 21:47:12

标签: excel vba

我想从Excel中删除一个表,包括标题,第一行和总计。

我将表名定义为字符串(TableName)。

我找到了

Range(TableName).Delete

将删除DataBodyrange但保留标题和第一行。和

Range(TableName).ListObject.Delete

将删除整个表但留下空白。

我需要使用哪些代码删除整个表并且不留空格?

1 个答案:

答案 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