我只是想通过 VBA 函数填充电子表格中的单元格。例如,我想在一个单元格中键入 =FillHere(),结果我将有几个单元格填充了一些数据。
我试过这样的功能:
Function FillHere()
Dim rngCaller As Range
Set rngCaller = Application.Caller
rngCaller.Cells(1, 1) = "HELLO"
rngCaller.Cells(1, 2) = "WORLD"
End Function
一旦我尝试修改范围,它就会中断。然后我尝试了这个(即使这不是我正在寻找的行为):
Function FillHere()
Dim rngCaller As Range
Cells(1, 1) = "HELLO"
Cells(1, 2) = "WORLD"
End Function
这也不起作用。但是,如果我使用 F5 从 VBA 启动此功能,它会起作用!似乎在调用函数时无法修改电子表格上的任何内容......但有些库会这样做......
我还尝试(实际上这是我的第一个想法)从函数返回一个数组。问题是我只得到数组中的第一个元素(有一个技巧意味着用左上角的公式选择整个区域+ F2 + CTRL-SHIFT-ENTER,但这意味着用户需要知道通过提前数组的大小)。
我真的被这个问题困住了。我不是最终的最终用户,所以我需要一些非常容易使用的东西,最好完全没有争论。
PS:很抱歉我已经问过这个问题了,但是我当时没有注册,看来我不能再参与其他线程了。