优秀的编程知识分享平台

网站首页 > 技术文章 正文

VBA|批量删除打开的工作簿中各工作表的名称Name

nanyue 2024-08-06 18:08:52 技术文章 4 ℃

在工作表中使用公式时,用名称Name来引用单元格区域,有时是一种很直观、方便的做法。但有利有弊,在工作簿间移动或复制工作表时,如果有相同的名称Name,则会提示一个个更改名称,很烦人。

如果一个个去删除,也很烦琐。如果自己在公式中基本不使用名称,而可能因为各种原因在工作表中残留了很多的Name,可以使用VBA一次性全部清除:

Sub NameDel()   ' 删除打开的工作簿所有工作表的名称Name
                ' Name是一个单元格区域的命名,公式→定义的名称
                ' 在工作簿间移动或复制工作表时,如果有相同的名称,则会提示更改名称
    Dim i As Integer, j As Integer
    Dim n As Integer, wbs As Integer
    
    wbs = Workbooks.Count
    For i = 1 To wbs
        n = Workbooks(i).Names.Count()
        For j = n To 1 Step -1      ' 因为按序列号删除后不复存在,可用倒序操作
            Workbooks(i).Names(j).Delete
            Debug.Print (n)
        Next
    Next
End Sub

-End-

Tags:

最近发表
标签列表