1

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

4

1 回答 1

0

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

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

编辑:

这是一个让 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 回答