首页 > 解决方案 > 如何通过VBA将所有参考单元格中的公式合并为一个公式?

问题描述

google了一会儿似乎没有人有这样的问题。基本上,我有几个单元格有公式并相互引用。下面是一个例子。我怎样才能把它们变成一个公式?

   A    B       C
1  1  =(A1+C1)  =B2
2       3

所以,我想将它们解析为=1+3. 我怎样才能做到这一点

标签: excelvba

解决方案


答案并不容易。我以前做过类似的。

回想起来,我将公式读入VBA,即

F1 = cells(1,2).Formula

然后由运算符解析。IE

F1b = split(F1, "*", -1)

您需要为所有操作员执行此操作,并存储操作员及其位置!因此,我建议使用一个可以同时与多个运算符一起使用的自定义函数,而不是对每个潜在的运算符使用拆分(即使自定义函数使用拆分)。

在得到不同的单元格地址后,你递归它们做同样的事情,直到你建立两个数组数组,第一个包含单元格地址树,第二个包含运算符树。

然后你需要把树弄平。

这个答案在代码方面不是很有帮助 - 我开始做了一些并记住了它的一罐蠕虫。例如,您期望公式中有任何 IF() 或 AND() 吗?


推荐阅读