【问题标题】:Replace reference in formula with precedent用先例替换公式中的引用
【发布时间】:2015-07-21 14:17:05
【问题描述】:

我有一个包含三张表 (1,2,3) 的 excel 文件,第一张表是主要数据,第三张表是输出的最终数据,第二张表是它们之间的桥梁。我需要更新第三张表中的公式,以便删除第二张表。

例如,单元格 A1 中的工作表“1”中有值,那么工作表“2”中的值为 C5='1'!A1,工作表“3”中的值为 B4='2'!C5,我需要进入工作表“3”B4='1'!A1。我需要为数千个单元格执行此操作,因此无法手动执行此操作,我正在考虑使用宏,但我无法创建这样的宏。有人可以帮帮我吗?

之所以提出这个问题,是因为工作表“2”中的桥很复杂,不仅将工作表“1”中的一个值分配给一个单元格,而且还将工作表“1”中的几个单元格加在一起,因此没有任何简单的用vlookup或类似函数替换网桥的方法。

【问题讨论】:

    标签: vba excel reference


    【解决方案1】:

    用你写的方式回答这个问题是相当困难的。这是因为 Sheet3 中的所有单元格似乎都指向表 2 中的“随机”点。如果表中的数字没有押韵或理由,那么替换公式可能会很困难。但是,试试这个:

    如果仅工作表 3 单元格 EVER 引用工作表 2 中的单个单元格,而工作表仅 EVER 引用工作表 1,那么您可以转到工作表 2,然后按 CTRL + H。这将显示“查找和替换”功能。将所有“=”实例替换为“ZZZZ=”。当您查看 sheet3 时,您会看到不是给出从 sheet1 到 sheet 2 计算的值,而是 sheet3 中的单元格可以说类似“ZZZZ='sheet1'!A1+'sheet1'!B1”,因为这就是值它指向的第 2 页。从那里,仅将所有 sheet3 复制并粘贴到值。然后,再次 CTRL + H 并将“ZZZZ=”表中的所有实例替换为“=”。

    但是我怀疑这是否会像 sheet2 包含在 sheet2 中其他地方用于计算的值一样起作用,或者如果 sheet3 以其他方式引用事物,这将分崩离析。

    【讨论】:

    • 正如您所写,在工作表 3 中的单元格引用工作表 2 中的多个单元格的情况下,此解决方案存在问题。但如果单元格仅引用一个单元格,则它可以工作.因此,如果没有更好的解决方案,我认为可以通过一些手动工作来使用它。
    • @lulish89 如果您发现此答案有帮助,请标记为“已回答”。
    猜你喜欢
    • 1970-01-01
    • 2012-05-05
    • 2020-01-11
    • 1970-01-01
    • 1970-01-01
    • 2014-02-09
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    相关资源
    最近更新 更多