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