防止定义的名称范围更改

时间:2018-04-23 18:52:06

标签: excel vba excel-vba

我目前正在设置一个工作簿,该工作簿利用命令按钮导入信息,绘制图表并打开具有指定名称的新选项卡。在最初的“数据”选项卡中,我使用以下代码命名范围:

=OFFSET(**Data**!$B$2,0,0,COUNTA(**Data**!$B:$B)-1)

创建新标签后,它会重命名原始“数据”表格并创建一个带有原始名称的新标签。我的问题是如何防止粗体名称在定义的名称中更改?这是可能的,如果没有 - 是否有一个VBA代码可以复制这个并迫使我给它起一个名字?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

正如我在评论中提到的,您可以复制数据表格,然后重命名。这将起作用,因为当您重命名工作表时,数据引用会自动更新,就像您更改副本中的名称一样,它将不会更新引用复制工作表的公式。

否则,您可以将此代码添加到宏的末尾,这将重新创建命名范围

ThisWorkbook.Names("abc").Delete
ThisWorkbook.Names.Add Name:="abc", RefersTo:="=OFFSET(Data!$B$2,0,0,COUNTA(Data!$B:$B)-1)"