我可以使用一个公式为几张?

我有一本工作手册,目前有20张,每天约3张。
所有的纸张在列HL中使用相同的公式。
但有时我发现在公式中的错误,或需要广告条件,然后我需要使用相同的公式更新所有工作表公式。 这就是问题所在。

我是否可以在一个单元格中的某个单元格中提供公式,并且在每个列中只是引用此公式,以便如果在此单元格中更改公式,它将在所有位置都变化?

在每张表格中,我需要“填充”大约2300行的公式。

在sheet1中

A1 =A1+B1 

在sheet2中

  A1 ='sheet1'!A1 // will calculate A1+B1 

任何人都知道的方法来做到这一点?

如果所有工作表具有相同的结构,则可以使用3Dselect在所有工作表上的同一单元格中更改公式。

例如,如果您的工作簿具有工作表1到10,请selectSheet 1中的单元格B1,然后按住Shift键并单击Sheet10。 现在,无论纸张名称是什么,从Sheet1到Sheet10的所有纸张中的所有单元格B1都被选中。

input一个公式,如=A1+A2然后按Enter键。 点击任意表格并检查结果。 B1将在每张纸上都有这个公式。

现在回到Sheet1,selectB1,按住Shift并点击Sheet10。 将公式更改为=A1*A2 (乘法而不是加法),然后按Enter键。 复制公式。

检查其他工作表,看看是否应用了相同的公式并将其复制到所有其他工作表上。

使用这种技术,您可以在工作簿的所有工作表中select相同的单元格,只需一次编辑即可在所有工作表中更改公式。 当然,只有在select的所有表都具有相同的数据结构时才有效。

在评论之后编辑:您可以使用第一张作为公式母版,只需要记住,如果您想更改公式,您首先必须使用3Dselect。 除此之外,Excel不会以您描述的方式提供公式复制。 对单元格的引用将始终返回单元格的值,而不是其公式。

您可以在VBA中为您的目标创build一个UDF(用户定义的函数):

按下Alt + F11,在项目资源pipe理器中右键单击您的项目,然后select插入 – > 模块 。 粘贴下面的代码:

 Function ExecuteFormula(ByVal Target As Range) On Error Resume Next ExecuteFormula = Evaluate(Target.Formula) End Function 

现在您可以像使用其他函数一样使用ExecuteFormula() 。 如果你想在你的主表中input公式作为一个string"=A1+B1"只需将第三行replace为:

  ExecuteFormula = Evaluate(Target.Value) 

我希望这有帮助。