我正在创建一个包含多个列的报告。我需要隐藏所有列都有$ 0的行。使用VBA,如果所有先前列都为零,我添加了一个等于零的最后一列。然后我在最后一列上运行一个自动过滤器来隐藏应该隐藏的列。然后我想删除最后一列,但隐藏隐藏的行。但是,如果我删除该列,则过滤器将被撤消。我记得很久以前我有办法在删除过滤栏后保留过滤器,但我不记得我是怎么做到的。
感谢您的帮助。
答案 0 :(得分:1)
您可以使用数据标签上的高级过滤器功能实现此目的。
您可以在适当的位置过滤列表(不使用过滤器箭头),也可以过滤到同一工作表中的其他位置。 已添加(感谢pnuts)屏幕截图中的列表范围应为A5:L107。
如果值是字符串,那么COUNTIF中的条件将是“$ 0”,但我希望它们是数字。
数字12是我的示例表中的列数。
如果要在某些VBA代码中使用它们,请记录步骤。
答案 1 :(得分:0)
我认为这样做:
Dim StartCell As Range, CurrentCell As Range
Set StartCell = Range("G2") 'the start cell of your filter column
Set CurrentCell = StartCell
Dim i As Integer
i = 0
Do While CurrentCell.Value <> ""
If CurrentCell.Value = 0 Then
CurrentCell.EntireRow.Hidden = True
End If
i = i + 1
Set CurrentCell = StartCell.Offset(i, 0)
Loop