从自定义VBA函数(不是子)写入Excel工作表

我将非常感谢您的帮助,帮助我将数据从自定义VBA函数写入到Excel工作表中。 我已经能够从一个自定义的VBA子程序中写入,但在执行VBA函数时出错。 在示例代码中,“Sub write 2”和“Sub write 3”工作得很好。 但是“functiontesting2()”会生成“Value!” 在它的单元格和write3不执行。

Sub write2(r As Integer, c As Integer, d As Double) Dim a, b As Integer For a = r To r + 1 For b = c To c + 1 Cells(a, b).Value = d Next b Next a End Sub Sub write3() Call write2(3, 60, 0.437) End Sub Function test2() As Double Call write3 test2 = 1# End Function 

根据芯片皮尔逊伟大的网站 :

UDF只能向调用它的单元格返回一个值 – 它不能修改任何单元格的内容或格式,也不能修改Excel的操作环境。 如果您尝试更改任何内容,则该函数将立即终止并向调用单元返回#VALUE错误。