似乎单元格都不会是空值,试试以下这段代码:Sub test()
If Range("a1") = "" Then
MsgBox "空值"
Else
MsgBox Range("a1")
End IfEnd Sub
If Range("a1") = "" Then
MsgBox "空值"
Else
MsgBox Range("a1")
End IfEnd Sub
解决方案 »
- VB 如何使用Datareport打印MSHFlexGrid中多条选中的记录
- 如何在richTextBox最后一行,加一条蓝色的一行,然后再把这行删掉(点按钮才删),注意只是最后一行
- vb连接VPF的问题
- 问个简单的问题,关于URL字符串操作
- 有一个问题,就是在程序里使用Extended Properties=Excel 8.0 如果,用的是OFFICE97或OFFICE2000或OFFICE XP 可以通用吗?
- 请熟悉MSSQL的高手过目
- VB6.0如何控制 动态调用的flash控件
- 如何返回重复的记录
- 一个简单的VB问题!
- H为TYPE型的记录,用LEN(H)取出来是什么??高手请指教!
- 怎样生成自己的数据库文件,可以给VB调用
- 与数据库建立联接的后续问题
一般VBA编程者需要的是确定单元格中是不是“没有内容”,用len(range("A1")=0这样的判断可以检查里面是否有填写字符,但如果操作员在A1格中打入了空格(这可能是常见的情况),虽然A1是空白的,仍然会使判断结果为真,于是改用这个方法:
blnCellisNull=len(trim(range("A1")))
blnCellisNull是我临时写的变量,代表指定单元格是否空白。当然你可以写一个公用函数:
'最好放进公用模块里,可以被所有表和workbook的代码调用。
'只处理一个单元格,如果传入的RANGE是多个单元格,只判断第一个
Function isCellNothing(rngCell As Range) As Boolean
isCellNothing = (Len(Trim(rngCell(1, 1).Value)) = 0)
End Function 然后你用可以用这样的语句:
If isCellNothing(range("A1")) then
'.......A1为空白时的处理代码
Endif