我需要用用户函数的结果填充单元格。如果函数的结果不为零,则应简单地用函数的结果填充单元格;到目前为止一切顺利。
但如果结果为零,我希望单元格为空。
所以我写了这个用户定义的函数:
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
而不是空?
最佳答案
您已经定义了您的函数,以便始终返回一个整数,并且它确实如此。空值不是整数。您可以按如下方式修改您的函数:
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
关于excel - 从用户定义函数返回 Empty 实际上返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27196512/