Excel vba 如何判断筛选好的某一区域是否为空(即均为空单元格)?

我用 ActiveSheet.Range(Cells(2, 4), Cells(r, 4)).AutoFilter Field:=1, Criteria1:="=" 筛选出了区域的空单元格所在行。

我想判断该区域右边一列相应的区域是否为空,请问如何判断?

将整列值连接成一个字符串,再判断这个字符串是否为空,或判断它的长度是否为0,例如判断B列是否为空:
dim myStr$
myStr=Join(range("B:B").value,"") '将B列的每个值连接成一个字符串
if myStr="" then msgbox "B列为空" '这个判断也可以用Len(myStr)=0
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-26
Sub 筛选后判断()
Dim rng As Range
Dim cng As Range
Dim arr, r%
r = ActiveSheet.[a65536].End(3).Row
ActiveSheet.Range(Cells(1, 1), Cells(r, 4)).AutoFilter Field:=4, Criteria1:="="
For Each cng In Range("A2", [a65536].End(3)).SpecialCells(xlCellTypeVisible)
Set rng = cng
arr = rng.EntireRow
If arr(1, 5) = "" Then
MsgBox rng.Address
End If
Next
Set rng = Nothing
End Sub
假设第4列是自动筛选列 ,第5列是筛选后需要判断是否为空的列, 第1行为标题行本回答被提问者采纳
第2个回答  推荐于2017-12-16
这个不用筛选吧,
你可以直接用VBA 判断啊
dim i as integer
for i=2 to r
if activesheet.cells(i,4)="" and activesheet.cells(i,5)="" then
debug.print i '打印第4 列,5列都为空的单元格所在行
end if
next本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网