Удалить элементы из фильтра сводной таблицы с помощью VBA - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь удалить значения, которые больше или равны 9000 в сводной таблице.Я использую код VBA и могу удалить значения из фильтра UOM, но мне также необходимо удалить значения из фильтра OpAc, которые имеют значение 9000 или более.

ActiveSheet.PivotTables("Pivot ZP2P").PivotFields("UOM").CurrentPage = "(All)"
With ActiveSheet.PivotTables("Pivot ZP2P").PivotFields("UOM")
    .PivotItems("""").Visible = False
    .PivotItems("""2").Visible = False
    .PivotItems("EA").Visible = False
    .PivotItems("FOZ").Visible = False
    .PivotItems("ML").Visible = False
    .PivotItems("TU").Visible = False
End With
ActiveSheet.PivotTables("Pivot ZP2P").PivotFields("UOM"). _
    EnableMultiplePageItems = True
With ActiveSheet.PivotTables("Pivot ZP2P").PivotFields("OpAc")
    .Orientation = xlPageField
    .Position = 1
    .PivotItems("9" & "*").Visible = False
End With

Как видите, япопытались удалить элементы, используя подстановочный знак 9 * с объединением 9 и * в качестве строк.Я не уверен, правильно ли я сделал это для удаления значений> = 9000

1 Ответ

0 голосов
/ 12 июня 2018

Эта проблема была решена.Для удаления предметов в 9000 используйте код:

With ActiveSheet.PivotTables("Pivot ZP2P").PivotFields("OpAc")
    .Orientation = xlPageField
    .Position = 1
End With
ActiveSheet.PivotTables("Pivot ZP2P").PivotFields("OpAc").CurrentPage = "(All)"
With ActiveSheet.PivotTables("Pivot ZP2P").PivotFields("OpAc")
        For o = 1 To .PivotItems.Count
        With .PivotItems(o)
            If .Name Like ("9*") Then
                .Visible = False
            Else
                .Visible = True
            End If
        End With
    Next o
End With
ActiveSheet.PivotTables("Pivot ZP2P").PivotFields("OpAc"). _
    EnableMultiplePageItems = True
...