在Excel VBA中删除表名

我想使用Excel VBA删除/删除我的表格名称是“表格2”。 我知道如何手动删除名称,但我不知道如何在VBA中设置名称“Table2”作为名称。 我发现这个主题的其他问题,但这些代码删除所有命名的范围,我想删除名为“表2”的表。

这是我的代码不工作:

Sub Delete_Name_Table() Dim n As Name n = "Table2" n.Delete End Sub 

任何知道如何正确设置“Table2”的人?

谢谢!

您可以从表中备份数据,删除表和恢复数据。

 Sub test() Dim rng As Range Dim rngVals As Variant Set rng = YourSheet.ListObjects("Table2").Range rngVals = rng.Value YourSheet.ListObjects("Table2").Delete rng.Value = rngVals Set rng = Nothing End Sub 

有一个很好的方法,使一个表到一个范围。 因此,该名称被自动删除,但值保持不变。 喜欢这个:

 Public Sub TestMe() Dim tblN As Object Dim rngRange As Range For Each tblN In ActiveSheet.ListObjects Debug.Print tblN If tblN = "Tabelle16" Then tblN.Unlist End If Next tblN End Sub 

如果你想删除内部的数据,这里是代码:

 Public Sub TestMe() Dim n As String n = "Tabelle2" Range(n).Delete End Sub 

它会将n设置为表名,并将其删除。

我希望我能理解你的post,你想要的东西如下面的代码:

 Option Explicit Sub Delete_Name_Table() Dim Sht As Worksheet Dim Tbl As ListObject Set Sht = Worksheets("Sheet1") ' <-- change to your sheet that has the table ' set the Table Object Set Tbl = Sht.ListObjects("Table2") Tbl.Name = " " ' clear the name, you need to give it some kind of name End Sub