隐藏零值的行

时间:2014-03-31 14:53:01

标签: excel pivot-table

我有一个数据透视表生成的下表:

╔════════╦══╦══════════╦════════════╦═════════╦═════════╦═════════╦═════════╦═════════╗
║ Line # ║  ║   Car    ║ Sold/Stock ║ Store 1 ║ Store 2 ║ Store 3 ║ Store 4 ║ Store 5 ║
╠════════╬══╬══════════╬════════════╬═════════╬═════════╬═════════╬═════════╬═════════╣
║      1 ║  ║ BMW      ║ Sold       ║       5 ║       1 ║       0 ║       6 ║       4 ║
║      2 ║  ║ BMW      ║ Stock      ║       2 ║       0 ║       2 ║       3 ║       4 ║
║      3 ║  ║ Audi     ║ Sold       ║       3 ║       4 ║       5 ║       5 ║       8 ║
║      4 ║  ║ Audi     ║ Stock      ║       3 ║       1 ║       0 ║       0 ║       1 ║
║      5 ║  ║ Mercedes ║ Sold       ║       2 ║       0 ║       4 ║       5 ║       6 ║
║      6 ║  ║ Mercedes ║ Stock      ║       0 ║       0 ║       0 ║       0 ║       0 ║
╚════════╩══╩══════════╩════════════╩═════════╩═════════╩═════════╩═════════╩═════════╝

我想隐藏最后一行(6)。可以吗?我无法过滤列存储1 2 3,因为我只想在它们全部为空时进行过滤。 感谢

2 个答案:

答案 0 :(得分:0)

数据透视表的过滤器应显示所有可用值,包括"空白"。将下拉列表设置为显示多个值,然后关闭该值。

答案 1 :(得分:0)

您可以在VBA中执行此操作,如下所示:

Dim hideMe as Bool
hideMe = True
For Each c In Range("E7:I7")
   If c.Value <> 0 Then
        hideMe = False
   End If
Next
Rows(7).EntireRow.Hidden = hideMe 

该脚本假定您要隐藏行(hideMe = True),并且只有在该范围内的任何单元格与0不同时才会另行决定。