所以我有一个基于不同标准的过滤器,如'state'和'year'。我希望能够过滤数据,然后让宏隐藏所有空列。我当前的宏只隐藏完全为空的列。我希望能够按'年'过滤,然后使用宏来隐藏所有空列,即使有过滤器隐藏的数据。
Sub HideColumns()
Dim col As Range
For Each col In Columns("Q:KN")
If Application.Count(Range(Cells(6, col.Column), Cells(168, col.Column))) = 0 Then
col.Hidden = True
End If
Next
End Sub
Sub UnhideColumns()
Columns("Q:KN").Hidden = False
End Sub
答案 0 :(得分:1)
.SpecialCells(xlCellTypeVisible)
属性将"制作"由非隐藏单元组成的范围。试试这个:
If Application.Count(Range(Cells(6, col.Column), Cells(168, col.Column)).SpecialCells(xlCellTypeVisible)) = 0 then