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

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

我想判断该区域右边一列相应的区域是否为空,请问如何判断?
展开
 我来答
冰爽哈啤酒
2013-01-05 · TA获得超过432个赞
知道小有建树答主
回答量:423
采纳率:0%
帮助的人:347万
展开全部
将整列值连接成一个字符串,再判断这个字符串是否为空,或判断它的长度是否为0,例如判断B列是否为空:
dim myStr$
myStr=Join(range("B:B").value,"") '将B列的每个值连接成一个字符串
if myStr="" then msgbox "B列为空" '这个判断也可以用Len(myStr)=0
香格里拉稻草人
推荐于2018-04-26 · TA获得超过385个赞
知道小有建树答主
回答量:494
采纳率:66%
帮助的人:377万
展开全部
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行为标题行
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wu302791539
推荐于2017-12-16 · TA获得超过709个赞
知道小有建树答主
回答量:391
采纳率:0%
帮助的人:204万
展开全部
这个不用筛选吧,
你可以直接用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
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式