如何重命名系列或范围名称并使其范围全局化

时间:2010-09-20 20:48:24

标签: excel-vba vba excel

•我有2个模板表(在Excell 2010中),名为“DefaultDesign”和“DefaultDesignMaterials”,其中包含多个具有工作簿范围的单元名称。例如,范围名称称为“DefaultDesign_NumberOfServers”,具有工作组范围。我想复制这两个模板表并将它们重命名为“Design1”和“Design1Materials”,然后将单元名称(或范围)“DefaultDesign_NumberOfServers”重命名为“Design1_NumberOfServers”,将“DefaultDesign_OS”重命名为“Design1_OS”等,等等...所有工作组范围。 要手动重命名的单元名称和单元格范围名称太多。

1 个答案:

答案 0 :(得分:0)

您可以遍历活动工作簿的“名称”列表以获取每个命名范围,并重命名它 - 示例

Sub RangeRename()
Dim N As Name

    For Each N In ActiveWorkbook.Names
        N.Name = N.Name & "_New" ' or any other transformation
    Next N
End Sub

对于字符串操作 - 如果您的名称在文件名和范围名称之间始终包含“_”作为分隔符,则可以使用此转换:

N.Name = ActiveWorkbook.Name & "_" & Mid(N.Name, InStr(1, N.Name, "_") + 1, 99)

希望有所帮助。

祝你好运 - MikeD