Я ищу наиболее эффективный способ (наименьший код) для фильтрации поля строки для выделенной строки для записей «(пустой)». Я знаю, как установить PageField/Report Filter (надеюсь, я говорю правильно здесь), используя метод .CurrentPage:Самый эффективный способ фильтрации поля строки для строки «(пустой)».
ActiveSheet.PivotTables("PivotTable1").PivotFields("Some Field").CurrentPage = "Something"
Для меня, это эффективно, но это работает только для PageFields не RowFields. Я также знаю, опции петли, чтобы установить свойства PivotItems.Visible как «True» или «False»:
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Some Field")
For each PvtItm in .PivotItems
If pvtItm.Value = "(blank)" Then
PvtItm.Visible = True
Else
PvtItm.Visible = False
End If
End With
Это работает для RowFields, но несколько дополнительных линий. Я могу использовать это, но мне было любопытно, был ли более короткий метод. Кроме того, я хочу видеть только записи «(пустые)», поэтому, если мне нужно установить их по-другому, то с помощью = «(пусто)». Мне было бы интересно узнать, что использовать. Мы ценим любые предложения!
Спасибо, Slai - что сделал работу. Единственное, что я заметил, это то, что slicer, подключенный к этой строке и полем, не отражает фильтр, но сам движок хорошо выглядит. – spyder3909
Я пробовал его в Excel 2007, поэтому вы можете попробовать записать макрос в своей версии, чтобы узнать, отличается ли сгенерированный код. – Slai