使用VBA在工作表中列出所有定义的名称

2022-11-16 10:49:52 浏览数 (1)

标签:VBA

有时候,工作簿中可能有大量的命名区域。然而,如果名称太多,虽然有名称管理器,可能名称的命名也有清晰的含义,但查阅起来仍然不是很方便,特别是想要知道名称引用的区域时,如果经常要打开名称管理器查找命名区域,会非常麻烦,也浪费时间。

下面是一段简单的代码,它将列出工作簿中的所有定义的名称,并显示名称所指向的单元格区域。

代码语言:javascript复制
Sub NamesList()
    Dim wks As Worksheet
    Dim nm As Name
    '可以修改为你想置名称和引用区域的工作表
    Set wks = Sheet1
    '忽略错误
    On Error Resume Next
    '遍历名称
    For Each nm In Names
        '在列A中列出名称
        wks.Range("A" & Rows.Count).End(xlUp)(2) = nm.Name
         '在列B中列出名称指向的区域
        wks.Range("B" & Rows.Count).End(xlUp)(2) = "'" & nm.RefersTo
    Next nm
    '恢复错误触发
    On Error GoTo 0
End Sub

一个非常简单的过程,它将显示工作簿中的所有名称及命名区域。其中的错误捕捉语句以防止工作簿中没有命名区域。

0 人点赞