似乎单元格都不会是空值,试试以下这段代码:Sub test()
If Range("a1") = "" Then
MsgBox "空值"
Else
MsgBox Range("a1")
End IfEnd Sub

解决方案 »

  1.   

    isnull(Range("c" & i).Value)
      

  2.   

    “空”和“空白”是不同的,楼主你想验证哪一种情况?
         一般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