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

时间:2018-02-04 09:09:01

标签: excel excel-vba user-defined-functions vba

Vba excel 2013在执行rng.value =“”

时返回零
Function Delete_UDF(rng)
    ThisWorkbook.Application.Volatile
    rng.Value = ""
End Function

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

2 个答案:

答案 0 :(得分:3)

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

Delete_UDF = "return value"

答案 1 :(得分:1)

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

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

这将从不在工作表上作为UDF工作。