【问题标题】:Unwanted range name moving weirdness不需要的范围名称移动怪异
【发布时间】:2017-01-27 11:28:09
【问题描述】:

2 天后编辑:更好的问题解释,修复了重现步骤并添加了额外的结论;这现在也是the bigger question of how to reliably move sheets about 的一部分--

我需要将工作表的内容移动到同一工作簿中新工作表的内容(请参阅这个相当愚蠢的练习的the background)。我最初的猜测是使用sourceSheet.Cells.Cut destSheet.Cells

但是,我的工作表都定义了工作表范围的名称,并且它们在工作表之间被引用。当您执行此剪切/粘贴操作时,您会假设所有指向被移动数据的链接都将保持原样,并且名称的所有用户都将正确更新。我惊恐地发现,在某些情况下,Excel 会“有用地”添加和切换到工作簿范围内的工作表范围名称的重复项。

手动执行此操作时也会发生这种情况。进行以下设置:

  • Sheet1 和 Sheet 2 都在 A1 上设置了名为“Source”的工作表特定名称
  • Sheet1 和 Sheet 2 都通过公式“=Source”在 B1 中使用该名称
  • Sheet2 还通过公式“=Sheet1!Source”引用 Sheet1 在 C1 中的 Source
  • 现在选择 Sheet1 上的所有内容,并将其粘贴到 Sheet3 上

当您打开名称管理器时,效果是“源”名称仍然定义为 Sheet2 和(现在)Sheet3 上的工作表范围名称,但它仍然在 Sheet1 本身上定义。然而,Sheet1 上的版本指向 Sheet3!A1...Sheet2 在单元格 C1 中的公式也仍然使用此重定向 Sheet1 名称版本。

但是,由于我实际上需要“刷新”工作表(因此移动内容,然后删除原始工作表),我需要采取的下一步是:

  • 让旧的 Sheet1 摆脱困境,然后
  • (此处不相关)将旧表命名为新表

完成此操作后,Excel 看到 Sheet2 仍使用名称 Sheet1!Source,显然有助于将其提升为工作簿范围的名称“Source”,仍指向 Sheet3!A1。 Sheet2在C1中的公式现在转化为=<workbook file name>!Source;即它现在指的是特定于工作簿的那个。

这在我的情况下是不可接受的,因为这个工作簿范围的版本严重阻碍了我的解决方案的进一步操作,例如再次制作工作表副本(这将使 Excel 询问用户它需要使用这些名称的哪个版本在副本中)。而且我真的只想“刷新”这张纸,而不是随着时间的推移收集一百万个旧骨架。

我已经尝试添加名称重复数据删除代码,我会将工作表范围的版本保留在 Sheet3 上,并将工作簿范围的一个 cq 删除。即将解雇的 Sheet1 上的工作表范围的一个(恢复正确的名称定义,就像在这一切之前一样)。然而,这会将 Sheet2!C1 中的公式转换为 #NAME?,这是合乎逻辑的,因为我们只是将它使用的名称从它的脚下推开。现在我还可以添加额外的代码来扫描所有工作表上的所有公式,以事先或事后修复公式,但这还不够,因为例如数据验证列表也可以使用名称——这很快就变成了很多我不想拥有的专用代码。

因此,似乎将工作表的内容与工作表本身分开移动会使范围名称在该点产生分叉,之后分叉的两个分支将被工作簿的不同部分使用。换句话说,一团糟……

有没有人建议我如何绕过这种不幸的情况?

【问题讨论】:

    标签: vba excel excel-formula


    【解决方案1】:

    您的情况不会导致我的 Excel 2010 出现重复。但是我也经常观察到这一点。

    您可以通过代码删除全局名称(将公式结果转换为#REF!),然后添加一个相同的工作表范围名称。表格上的公式将在不更改任何内容的情况下选择新名称,重新计算就足够了。

    这也适用于数据验证源。据我所知,在图表中您不能使用命名引用。至于其他可以用名字的地方,就测试一下吧……

    【讨论】:

    • 抱歉回复晚了(我和流感女士约会)。我也尝试了我的步骤,发现我也无法重现它们 - 我真正试图描述的情况还涉及事后删除 Sheet1。我会用这个细节更新这个问题。不幸的是,在这种情况下,重新计算不再修复它......
    猜你喜欢
    • 1970-01-01
    • 2011-11-08
    • 2015-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多