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:="=" 筛选出了区域的空单元格所在行。
我想判断该区域右边一列相应的区域是否为空,请问如何判断? 展开
我想判断该区域右边一列相应的区域是否为空,请问如何判断? 展开
3个回答
展开全部
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行为标题行
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行为标题行
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个不用筛选吧,
你可以直接用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
你可以直接用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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询