【发布时间】:2013-12-25 01:40:17
【问题描述】:
非常感谢您帮助我将自定义 VBA 函数中的数据写入 Excel 工作表。我已经能够从自定义 VBA 子例程编写,但在执行 VBA 函数时出现错误。在示例代码中,“Sub write 2”和“Sub write 3”工作得很好。但是“功能测试 2()”会生成“值!”在它的单元格中并且 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
【问题讨论】:
-
这实际上是可能的 - 尽管很复杂 - 请参阅上面的链接,这与您的请求相同
-
你好@brettdj:谢谢!看起来我确实有同样的问题。不幸的是,解决方法似乎在代码中引入了很多复杂性。所以,我将把函数转换成一个子程序。
-
是的,更好的选择:)
-
@user3133655:子程序确实是最好的方法。就个人而言,我会在这里写一个 Sub 和一个 Function。 Sub 遍历我的数据,将其输入到我的函数中,然后函数将值返回给 Sub,Sub 将其输出到我想要的任何地方。当然,这是假设您绝对必须使用函数。否则,一个大潜艇会切断它(或多个小潜艇互相呼叫)。 ;)
标签: vba excel excel-2010 user-defined-functions