VBA问题,如何判断某一单元格为空?

如题所述

第1个回答  2011-06-07
如第i行第j列的单元格
在程序中加上几行:
dim strT as string
if cells(i,j)="" then
strT="空单元格"
else
strT="非空单元格"
endif追问

如果某一列的某个单元格为空,那么另一列的同一行的单元格也为空,如何写呢?

追答

这样:
if cells(i,j)="" then cells(i,j+1)=""

追问

我说的某一列。、

追答

把if cells(i,j)="" then cells(i,j+1)=""放到一个循环里面遍历所有i就行了

追问

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then
Target.Offset(0, -3) = Date
End If
End Sub
我知道一段代码是上面这样的(是为了由一个位置决定另一位置的日期的),其写的就是一列,但并没用什么循环,难道在这里非要用循环吗?

追答

上面的代码中,.column属性是测试Range的列,不是某个单元格。
Range.Offset(0-3)=Dtae是对区域赋值。

其实用
For Each cRange in Range

Next cRange
遍历单元格也不麻烦啊。

第2个回答  2011-06-07
If Len(Trim(Cells(i,j)))= 0 then
'单元格为空
End If

我一直这么判断的,目前看来还没遇到什么问题。追问

如果某一列的某个单元格为空,那么另一列的同一行的单元格也为空,如何写呢?

追答

Dim colNum as Integer
colNum = '你指定的另一列的列号
If Len(Trim(Cells(i,j)))= 0 then
Cells(i,colNum) = ""
End If

相似回答