将函数的结果返回到具有偏移量的单元格

时间:2017-08-07 21:27:35

标签: excel-vba vba excel

我正在学习和编写Excel VBA函数以满足我的需求,而且我很困难(非常确定它很简单,但我无法弄清楚错误,因为excel只返回#VALUE作为错误消息) 我写了一个vba函数来返回一些数据,一切都很好,直到最后。我将结果存储在一个集合中(已选择)但我无法使该函数将结果写入同一行中的单元格。我试图在for循环中使用range.offset:

For t = 1 To chosen.Count
Application.Caller.Offset(0, t).Value = chosen(t)
Next t

所以对于1,我希望将selected(1)中的值返回到右边同一行的单元格。然后是2,它将进入右边的第二个单元格等。

1 个答案:

答案 0 :(得分:1)

用作公式的UDF或用户定义函数不会影响其他单元格的值。

现在,如果您想在一个范围内放置一个数组,那么您只需选择输出的单元格,然后按Ctrl-Shift-Enter确认。

使用此函数返回数组:

Function myArr() As Variant()
myArr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
End Function

我选择A1:I1,A1激活。

enter image description here

然后我输入

=myArr()

在公式栏中按Ctrl-Shift-Enter而不是Enter。 Excel将公式放在所有九个单元格中,并将{}放在公式周围。然后将数组放入这九个单元格中。

enter image description here