excel 如何使用VBA清除表并使其成为一行[duplicate]

4zcjmb1e  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(158)

此问题在此处已有答案

Delete all data rows from an Excel table (apart from the first)(共10个答案)
6天前关闭。
我在Excel中有一个表格。它现在是2列,大约50行。我想清除VBA中的内容(我设置了一个宏,可以顺利运行并填充表格)。我希望它是一行,而不是2列50行。我需要什么代码行来完成此操作-我是VBA新手。
感谢您发送编修。
我试过了

Dim sTableName As String
Dim sSheetName As String
sSheetName = "VBAMacro"
sTableName = "ProductSale_Table"
Sheets(sSheetName).ListObjects(sTableName).Delete

但这只是删除内容。我需要弄清楚如何清除它并使其成为一行。

w8f9ii69

w8f9ii691#

您应始终设置所有Worksheet对象和ListObject(表格)。
请尝试以下修改后的代码:

Dim Tbl As ListObject
Dim sTableName As String
Dim sSheetName As String

sSheetName = "VBAMacro"
sTableName = "ProductSale_Table"

' Set the List-Object
Set Tbl = ThisWorkbook.Worksheets(sSheetName).ListObjects(sTableName)
With Tbl
    .DataBodyRange.ClearContents ' clear contects from Table
        
    .Resize .Range.Resize(1, .Range.Columns.Count) ' resize range (rows and columns) of Table
End With

相关问题