Excel公式来改变另一个单元格的值?

是否可以强制一个[UDF]用户定义的函数返回一个单元格的结果我们指定? 换句话说:如果我在单元格A1中执行一个UDF,它将返回A2单元格中的结果,但是如果我想通过另一个单元格更改A2 ,该怎么办?

不直接…….一个UDF将只返回一个值到它所在的单元格。 您可以在工作表中包含一个计算事件macros。 计算macros可以响应UDF返回到A1的值并相应地更改A2

另一种方法是让UDF返回一个数组,并将UDF放在A1A2上

编辑:

这是一个非常简单的例子,让UDF填充多个单元格。

在B1中,input:7

安装以下UDF:

Public Function circlee(r As Double) Dim ary(1 To 3, 1 To 1) As Double ary(1, 1) = 2 * r ary(2, 1) = WorksheetFunction.Pi() * 2 * r ary(3, 1) = WorksheetFunction.Pi() * r * r circlee = ary End Function 

然后,通过A3打开单元格A1并键入数组公式:

= circlee(B1)

因为它是一个数组公式,所以必须使用CNTRL-SHFT-ENTERinput,而不仅仅是input键。

您应该在单元格A1到A3中看到半径为B1的圆的直径,圆周和面积