2015-12-09 24 views
0

我正在制作一个Excel中的公式,我想要轻松阅读和修改公式。但是,我仍然希望评估公式。如何从一个单元中抽取未评估的公式并在另一个单元中对其进行评估?

到目前为止,我一直在一个单独的单元格中重新创建公式,并在那里进行评估。这使我的工作暴露于拼写错误,或健忘等,通常浪费时间。我想让这个过程自动化。 我的第一次尝试是在一个单元格(c2)中输入公式(例如:a2 + b2),并且只需要第二个单元格读取= c2。但是,这只会让第二个单元格显示为“a2 + b2”而不是评估。

我该如何命令这第二个细胞利用第一个定义的公式?

+0

看看'indirect()'? – findwindow

+0

indirect()似乎不适用于公式。 – user5659766

回答

1

第一名此ù SER d efined ˚F(UDF)标准模块中:

Public Function eval(strng As String) As Variant 
    eval = Evaluate(strng) 
End Function 

然后选择一个小区并进入:

=eval(C2) 

enter image description here

用户定义函数(UDF)是非常容易安装和使用:

  1. ALT-F11带来了VBE窗口
  2. ALT-I ALT + M打开一个新的模块
  3. 粘贴的东西并关闭VBE窗口

如果保存工作簿,则UDF将与其一起保存。 如果您正在使用一个版本的Excel更高然后2003,你必须 将文件保存为.XLSM而不是。XLSX

要删除UDF:

  1. 弹出VBE窗口如上
  2. 清晰的代码进行
  3. 关闭VBE窗口

从Excel使用UDF: (A1)

要了解更多关于一般的宏,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

以及有关UDF的细节,请参见:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

宏必须启用此工作ķ!

+0

非常好!非常感谢你!我会upvote你,但Stackexchange认为我太notobish这样做。 – user5659766

+0

@ user5659766感谢您的反馈! –

1

没有VBA:

定义名称说EvaC2与指:

=EVALUATE(Sheet1!$C$2) 

(调整表名称,以适应),OK,然后输入:

=EvaC2 

注意这种使用XLM其剩余的寿命可能很短。

相关问题