如何阻止内部链接转向#REF?

时间:2017-12-08 18:05:42

标签: excel vba excel-vba

我的工作簿中有一个标签(标签A),其中包含指向VBA与Date,Open,High,Low,Close,Volume,Adj Close 2017-11-06,46.599998,46.740002,46.090000,46.700001,46.700001,34035000 2017-11-07,46.700001,47.090000,46.389999,46.779999,46.779999,24461400 2017-11-08,46.619999,46.700001,46.279999,46.700001,46.700001,21565800 2017-11-09,46.049999,46.389999,45.650002,46.299999,46.299999,25570400 2017-11-10,46.040001,46.090000,45.380001,45.580002,45.580002,24095400 2017-11-13,45.259998,45.939999,45.250000,45.750000,45.750000,18999000 一起插入的另一个标签(标签B和标签C)的链接。当我运行宏时,我在选项卡A中获取Application.GetOpenFilename以获取该选项卡上的公式(公式引用插入的选项卡,即选项卡B和选项卡C)。如何防止这种情况发生并保持Tab A上的公式完整?

这是我的代码:

#REF!

1 个答案:

答案 0 :(得分:0)

我不确定是否只是打开wb2引入了REF错误或插入了纸张。

E.g。 如果打开workbook1,其中包含对workbook2的引用的公式,然后在保护模式下打开workbook2(默认设置),Excel将在任何引用workbook2的单元格中引入REF错误(由于受保护模式)。 / p>

如果以上是您的问题,那么一种方法可能是将wb2添加为可信文档或位置,或者Excel>文件>选项>并关闭保护模式(不建议)。

无论上述情况如何,您使用的是其他解决方案:

  1. Range.Find并遍历所有单元格并引用 将要插入的工作表
    1. 暂时将这些单元格中的第一个'='替换为'=',这应该将公式转换为字符串值。
    2. 然后插入所需的工作表(字符串值不会出现REF错误)
    3. 然后将'='替换为'=',将字符串转换回Excel公式。
  2. 您可以在步骤1中设置范围对象,然后可以在步骤2和3中重复使用。