Столбец «Сводная таблица фильтрации» - PullRequest
0 голосов
/ 28 августа 2018

Я пробовал и просматривал этот форум и другие, но пока не смог найти правильный рабочий код.

Я хочу отфильтровать в сводной таблице столбец со значениями, равными или превышающими 10%. Когда я записывал свой макрос, код был следующим:

Sub Macro9()
Macro9 Macro
ActiveSheet.Range("$A$5:$M$36607").AutoFilter Field:=13, Criteria1:=">=0.1" _
    , Operator:=xlAnd

End Sub

Это не работает, но я хотел запустить макрос позже.

Итак, я попробовал другие коды, например, следующие:

 Sub FilterPivotTable()

 Application.ScreenUpdating = False
 ActiveSheet.PivotTables("PivotTable1").ManualUpdate = True

  ActiveSheet.PivotTables("PivotTable1").PivotFields("Name of my column").ClearAllFilters

  ActiveSheet.PivotTables("PivotTable1").PivotFields("Name of my column").PivotFilters. _
Add Type:=xlCaptionEquals, Value1:=">=0.1"

ActiveSheet.PivotTables("PivotTable1").ManualUpdate = False
Application.ScreenUpdating = True
End Sub

Но это тоже не сработало.

Может кто-нибудь помочь мне? Заранее большое спасибо.

РЕДАКТИРОВАТЬ: Очевидно, что тот факт, что мое поле является расчетным, важно. Тем не менее, нет ответа.

1 Ответ

0 голосов
/ 30 августа 2018

Итак, я нашел ответ на свой вопрос.

Поскольку столбцы, которые я хотел отфильтровать, были значениями и вычисляемыми полями, мне фактически нужно было отфильтровать эти столбцы, щелкнув правой кнопкой мыши ячейку внутри значения строки моего PVT. Затем мне пришлось отфильтровать, выбрав правильное значение для сортировки и добавления моих критериев. Код при записи макроса следующий:

ActiveSheet.PivotTables("PivotTable1").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields("Your row name").PivotFilters. _
Add2 Type:=xlValueIsGreaterThanOrEqualTo, DataField:=ActiveSheet. _
PivotTables("PivotTable1").PivotFields("Your value field"), Value1:=0.1

Надеюсь, что это может помочь некоторым из вас, поскольку я не видел ответа на этот вопрос на многих форумах.

Хорошего дня!

...