我一直在寻找解决方案,我找不到一个。

假设我输入单元格A1:= if(A2> 1,1,0)

Excel将解释它并返回1或0。

但是,我想要做的是将该公式转换为字符串:'= if(A2> 1,1,0)'

如果按Ctrl +〜进入Excel,您将看到所有公式。 总而言之,我想要做的就是采取所有这些公式并使它们成为字符串。

(如果您关心,目的是将这些字符串与另一个工作簿进行比较,以确保我没有删除任何内容)

===============>>#1 票数:11 已采纳

您可以为此创建用户定义的函数。

将此代码放入Module (不是工作表代码表,类或表单)

Function GetFormula(rng As range, Optional asR1C1 As Boolean = False) As String
    If asR1C1 Then
        getFormula = rng.FormulaR1C1
    Else
        getFormula = rng.Formula
    End If
End Function

并在工作表中调用它

=GetFormula(A1)

或者如果你想将结果作为R1C1

=GetFormula(A1,TRUE)

===============>>#2 票数:9

使用FORMULATEXT函数。 它内置于Excel中。

===============>>#3 票数:2

我想做的是将该公式转换为字符串:'= if(A2> 1,1,0)'

只需使用单元格的公式属性,这是一个代码示例:

Range("A1").Select
Dim strFormula As String
strFormula  = ActiveCell.Formula
MsgBox (strFormula)

===============>>#4 票数:1

您还可以使用查找和替换将空格替换为等号。 实际上删除等号并仅将公式的文本留作字符串。

===============>>#5 票数:0

按照这种方式。

  1. 选择要转换为文本的范围(包含公式),也可以选择工作表上的所有范围。

  2. 按Control-F使用查找和替换命令,然后用“^”替换“=”按替换全部..全部完成....

  3. 如果你想再次使用它作为公式...只需使用查找和替换,然后将“^”替换为“=”只看......所有文本格式的公式转换为公式...

===============>>#6 票数:-1

只需右键单击列标题(即A)并选择“格式化单元格”,然后在“数字”选项卡下选择“文本”。 然后在每个单元格中按Enter键,将显示公式而不是结果。

  ask by user330739 translate from so

未解决问题?本站智能推荐: