在Excel VBA中删除表名

时间:2017-08-15 08:54:11

标签: excel vba excel-vba

我想使用Excel VBA删除/删除我的表名“Table2”。我知道如何手动删除名称,但我无法弄清楚如何在VBA中将名称“Table2”设置为名称。我发现了关于这个主题的其他问题,但这些代码删除了所有命名范围,我想删除名为“Table2”的表。

这是我的代码无效:

Sub Delete_Name_Table()

   Dim n As Name

   n = "Table2"

   n.Delete

End Sub

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

谢谢!

3 个答案:

答案 0 :(得分:3)

有一种方法可以将表格制作成一个范围。因此,名称将自动删除,但值保持不变。像这样:

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设置为表名,它将删除它。

答案 1 :(得分:2)

我希望我理解你的帖子,你想要类似下面的代码:

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

答案 2 :(得分:2)

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

<script type="text/javascript">
   var google_tag_params = {
       ecomm_prodid: '[{$oDetailsProduct->oxarticles__oxartnum->value}]',
       ecomm_pagetype: 'product',
       ecomm_totalvalue: () => '[{$sFrom}] [{oxprice price=$oPrice currency=$currency}]'.replace(/,/g, '.')
   };
</script>