Office中国论坛/Access中国论坛

标题: 求助:表格中公式计算为空时,可以用”“表示码?用啥 [打印本页]

作者: Randyhuang    时间: 2016-12-21 23:39
标题: 求助:表格中公式计算为空时,可以用”“表示码?用啥
下面的代码,cells(2,3) 是公式算出值,但是是为空的值,用下面代码表示的时候发现if 判断为false,if 后面该如何写,才能让它判断为true,谢谢
Sub 比较日期()
date1 = DateValue(Now())
date2 = Cells(2, 2)
date3 = Cells(2, 3)
If date1 > date2 And date3 = "" Then
MsgBox "发货延误了"
Else
MsgBox "未到发货时间"
End If
End Sub
作者: roych    时间: 2016-12-22 12:34
改成这个试试。
If date1 > date2 Or date3 = "" Then
不过一般我都是改为IsNUll的。
作者: Randyhuang    时间: 2016-12-22 21:15
roych 发表于 2016-12-22 12:34
改成这个试试。
If date1 > date2 Or date3 = "" Then
不过一般我都是改为IsNUll的。

用or意思就不对量;这里只是举了一个例子;重点是date3 所中的单元格有公式,isnull 算出的值为N啊
作者: roych    时间: 2016-12-23 10:24
印象中,公式好像不能判断为空字符串吧?
作者: pureshadow    时间: 2016-12-23 15:35
if date3 = "" then这种写法是可以的,date3无论是真空还是假空结果都为True,除此以外结果为False
作者: Randyhuang    时间: 2016-12-25 21:23
pureshadow 发表于 2016-12-23 15:35
if date3 = "" then这种写法是可以的,date3无论是真空还是假空结果都为True,除此以外结果为False

为就是想如果真空判断为true,如果假空判断为false,该如何操作?
作者: ly    时间: 2016-12-26 08:49
既然是公式算出的值,就要考虑结果的类型,如果是数值型,空值一般为0表示,而文本是用“”来表示。
作者: pureshadow    时间: 2016-12-26 17:26
一般假空都是带公式的,可以再加个判断 range("...").hasformula
作者: pureshadow    时间: 2016-12-26 17:28
另外,假空无法通过定位找到,也可以利用这个差异来判断真空和假空。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3