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