Как настроить сводную таблицу Excel, чтобы она отображала только ранг 1 через VBA? - PullRequest
1 голос
/ 29 мая 2019

У меня есть список объектов, и я хочу увидеть наиболее часто используемый объект. Я знаю, что мог бы написать формулу для этого, если бы был только 1 объект, который больше всего использовал, но иногда результаты связывались, и мы могли иметь 2, 3, 4 ... объекты, которые использовались одинаковое количество раз.

Поэтому я считаю, что Pivot, использующий ранжирование, мог бы быть лучшим способом представления результатов - до тех пор, пока я могу фильтровать все объекты с помощью ранга 1.

Однако я не могу понять, как заставить Pivot отображать результаты ранга 1. Например, ниже указан источник данных;

Object
Pencil
Pencil
Pencil
Paper
Paper
Paper
Ruler
Ruler
Rubber

Когда вы ставите в Pivot, вы получите:

Object  Vol.  Rank
Pencil  3     1
Paper   3     1
Ruler   2     2
Rubber  1     3

Как заставить Pivot отображать только RANK 1. И как бы я написал это в Excel VBA?

1 Ответ

0 голосов
/ 29 мая 2019

Вы можете применить фильтр «Top 1 Count» к PivotField следующим образом:

With ActiveSheet.PivotTables(1)
    .PivotFields("Object").PivotFilters.Add2 _
        Type:=xlTopCount, _
        Value1:=1, _
        DataField:=.DataFields(1)
End With
...