UDF在执行rng.value =“”时返回零

问题描述 投票:-6回答:2

执行rng.value =“”时,Vba excel 2013返回零

Function Delete_UDF(rng)
    ThisWorkbook.Application.Volatile
    rng.Value = ""
End Function

这是零,任何人都知道为什么?

excel excel-vba user-defined-functions vba
2个回答
3
投票

你的功能不会返回任何东西。您需要添加以下内容:

Delete_UDF = "return value"

1
投票

您对Application.Volatile的使用告诉我您在工作表上使用此UDF,这将无法从工作表中使用。

从工作表调用的UDF不能更改该工作表或其他工作表上的任何单元格,除了将值返回到正在使用它的单元格。如果你在像=Delete_UDF(A1)这样的A1中使用它,它将是一个循环引用,因此不起作用。

这将永远不会作为工作表上的UDF。

© www.soinside.com 2019 - 2024. All rights reserved.