首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从用户定义函数返回空函数实际上返回0

从用户定义函数返回空函数实际上返回0
EN

Stack Overflow用户
提问于 2014-11-28 22:08:21
回答 2查看 2.7K关注 0票数 2

我需要用用户函数的结果填充一个单元格。如果函数的结果与零不同,则应该简单地用函数的结果填充单元格;到目前为止,情况良好。

但如果结果为零,我希望单元格为空。

因此,我编写了这个用户定义的函数:

代码语言:javascript
运行
复制
Function MyTestFunction(n As Integer) As Integer
    Dim result As Integer

    result = n * 2

    If result = 0 Then
        MyTestFunction = Empty
    Else
        MyTestFunction = result
    End If
End Function

这个函数没有真正的目的,它只是为了调查这个问题。

Excel表格如下:

单元格A1到A3刚刚输入数据,单元格B1到B3包含:

  • B1:=MyTestFunction(A1)
  • B2:=MyTestFunction(A2)
  • B3:=MyTestFunction(A3)

为什么单元格B3显示的是0而不是空的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-28 22:22:00

您已经定义了您的函数,以便始终返回一个整数,并且它确实返回。空值不是整数。您可以如下所示修改您的函数:

代码语言:javascript
运行
复制
Function MyTestFunction(n As Integer) As Variant
    Dim result As Integer

    result = n * 2

    If result = 0 Then
        MyTestFunction = ""
    Else
        MyTestFunction = result
    End If
End Function
票数 3
EN

Stack Overflow用户

发布于 2014-11-29 03:38:16

您不能从任何公式(使用内置函数或用户定义函数)返回空,请参阅

"“与”空“不一样,在许多情况下,它们的行为也不同。通过在下面的“立即”窗口中执行选定的空单元格和包含"“的单元格,可以获得差异的表现形式。

代码语言:javascript
运行
复制
? TypeName(Selection.Value)

作为公式的结果,空的最有用的替代物取决于您对包含公式的单元格的使用,有关它的味道,请参阅

仍然在MS的ToDo列表中(或者可能不是.)

编辑:我发现了以下相关问题(值得查看答案)

在Excel中从公式中返回空单元格

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27196512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档