首页 文章

删除具有命名范围的工作表时出现奇怪的Excel错误?

提问于
浏览
1

我有一个excel工作簿,其中包括2个badkheets,wkshtA和wkshtB . 它们都有本地命名范围(每个命名范围的范围只是父工作表) . wksht B中的一些单元格引用A中的命名范围,但A中的任何一个单元格都没有命名范围 .

我有一个宏,可以在同一个工作簿中创建每个工作表的副本 . 这很好用 .

问题是,当我删除工作表A时,我的名称管理器有一堆#ref错误,其中包含工作表A上的所有名称,但每个名称的范围已更改为“工作簿” . 但是,只有在删除工作表B之前删除工作表A时才会发生这种情况 . 如果我以相反的顺序删除它们,则A中的所有命名范围都将被删除 .

另一个奇怪的事情是,如果我删除A,然后删除所有#ref错误,然后删除B,然后运行创建新副本的宏,然后再次删除A,#ref错误不再出现 .

我很难过......有什么想法吗?谢谢 .

1 回答

  • 0

    结果问题是我从B到A定义引用的方式 . 例如,我在A中有一个范围,在B中有一个名为“Premium”的范围 . 我有一段代码说

    worksheets("B").range("Premium").formula = "='A'!Premium"
    

    这实际上工作正常,但是当我删除工作表A时,命名范围没有删除 . 将公式定义更改为

    worksheets("B").range("Premium").formula = "='A'!" & worksheets("A").range("Premium").address
    

    做了伎俩

相关问题