查找公式组的“真实”公式

时间:2019-06-26 10:12:57

标签: regex excel vba excel-formula

我试图找到一个小组的“真实”公式。例如,这些是公式

=If(A$4>$A1,"Long","Short") 
=If(B$4>$A1,"Long","Short") 
=If(A$4>$A2,"Long","Short")
=If(A$4>$A$2,"Long","Short)

第四个公式是一个不同的公式。前三个公式应与固定在第A列的单元格相比,是固定在第4行的单元格相同的公式。结果应显示2个“真实”公式。像这样

=If($4>$A,"Long","Short")
=If($4>$A$2,"Long","Short")

我如何在VBA中设计一个正则表达式(或任何其他方法)以从“名义”公式中提取该“真实”公式?

1 个答案:

答案 0 :(得分:1)

通过使用File,Options,Formulas并勾选R1C1样式,将公式转换为R1C1格式显示。以这种样式,您的四个示例公式将显示为(如果在第3列中输入)

=IF(R4C[-2]>RC1,"Long","Short")
=IF(R4C[-1]>R[-1]C1,"Long","Short")
=IF(R4C[-2]>R[-1]C1,"Long","Short")
=IF(R4C[-2]>R2C1,"Long","Short")

地址的固定部分没有大括号[],因此,如果删除大括号及其内容,则会得到

R4C>RC1
R4C>RC1
R4C>RC1
R4C>R2C1

没有4个不同于其他