从复制的工作表中的命名区域中删除外部引用

时间:2016-08-22 09:26:59

标签: excel excel-vba named-ranges vba

我有一堆工作簿通过导出两个工作表创建 - 数据表本身和一个名为TimeUnits的工作表,其中包含数据验证下拉列表的命名范围。

我遇到的一个大问题是复制过程导致那些命名范围不是指新工作表而是指原始工作簿 - =Lookups!$D$2:$D$4范围应该被定义为='\\sestofp001p\users\SEANP\WWL\Other Projects\20160531 - Ops - Port data project\Data Collection\[Port Data.xlsm]Lookups'!$D$2:$D$4,它实际上变成了<form name="myform" action="abc.php"> <input type="radio" name="radio1" value="1" checked> <input type="radio" name="radio2" value="2"><br><br> <input type="text" name="input" value="My Name" /> </form>

除了在312个不同的工作簿上有26个范围之外,这不是一个大问题,所以我正在寻找一种方便的方法来删除多余的位以将其转换为本地的参考书。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您是否尝试过定义Name变量并通过VBA创建它? 就像我在下面的例子中一样:

Sub Add_NamedRange()

Dim TimeUnits_NamedRange            As Name

' create the named range , modify This Workbook to your new created workbook
Set TimeUnits_NamedRange = ThisWorkbook.Names.Add("TimeUnits", ThisWorkbook.Sheets("Lookups").Range("$D$2:$D$4"))

End Sub