是否可以强制 [UDF] 用户定义函数在我们指定的单元格上返回结果?换句话说:如果我在单元格A1中执行 UDF, 它将在A2单元格中返回结果,但是如果我想用另一个单元格更改A2怎么办?
问问题
3390 次
1 回答
0
不直接.......UDF 只会将值返回到它所在的单元格。您可以在工作表中包含计算事件宏。计算宏可以响应 UDF 返回到A1的值并相应地更改A2。
另一种方法是让 UDF 返回一个数组并将 UDF 放置在A1和A2上
编辑:
这是一个让 UDF 填充多个单元格的非常简单的示例。
在 B1 中,输入: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
然后高亮单元格 A1 到 A3 并键入数组公式:
=圆(B1)
因为它是一个数组公式,所以必须使用CNTRL-SHFT-ENTER 输入,而不仅仅是ENTER键。
您应该在单元格 A1 到 A3 中看到半径在 B1 中的圆的直径、周长和面积
于 2013-09-17T16:37:45.810 回答