更改数组VBA中元素的值

时间:2013-07-03 00:59:25

标签: excel function vba range

以下用户定义的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。

1 个答案:

答案 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