以下用户定义的VBA函数未提供特定错误但未返回值。我不知道为什么。任何人都可以建议如何修改此代码,以便它的工作原理?非常感谢!
Public Function mytest(myrange As Range)
myrange(1).Value = myrange(1).Value * 44
mytest = myrange(1).Value
End Function
我会在单元格中调用此函数,例如:
=mytest(A1)
单元格A1将包含一个值,例如10.我希望该函数返回值440。
答案 0 :(得分:1)
您在工作表中调用/使用的用户定义函数不能(添加:没有外部帮助,例如复杂的win-api调用)更改应用程序环境。也就是说,您不能在可以更改任何其他单元格的单元格中使用UDF,无论是其值还是格式。
这样说,有没有Excel函数可以改变另一个单元格吗?
如果您想更改单元格的值,则需要创建并运行 sub -procedure。
已添加:您要在工作表中使用的功能应该像任何Excel功能一样;它执行计算并返回一个值。例如:
Public Function MyTest(myRange As Range) As Double
'return a value by assigning it to the function name:
MyTest = myRange(1).Value * 44
End Function