2016-08-02 3 views
0

Я использовал строку ниже, чтобы получить детали No.of из поля Pivot в «Фильтр отчета»: MsgBox pt.PageFields(5).PivotItems.CountКак получить No.of Элементы из поля Pivot в Report Filter с помощью VBA

Но возвращается 0 каждый раз. Я не уверен, что это правильный путь. В этом поле наверняка есть сводные элементы. Кто-нибудь может мне помочь?

+0

Pramod: Вы так «отредактировали» свой вопрос, что теперь это совершенно другой вопрос, и в результате не соответствуют приведенным ниже ответам. Предложите вернуть свои изменения и задать новый вопрос. – jeffreyweir

+0

Привет @jeffreyweir Спасибо за предложение. Я разместил здесь новый вопрос: http://stackoverflow.com/questions/38753567/how-to-access-pivot-items-of-a-pivot-field-which-is-present-in-report-filter -usi Я знаю, что после редактирования вопроса я не имел никакого смысла. Я ценю ваш комментарий вместо того, чтобы опрокидывать мой вопрос. – Pramod

ответ

0

Предполагая, что вы хотите знать кол-видимых элементов, а не только из всех элементов, а затем перебора каждого элемента, чтобы проверить .Visible статуса на сегодняшний день самого простым способом. Но это может занять некоторое время: за сообщение, которое я написал некоторое время назад в http://dailydoseofexcel.com/archives/2013/11/14/filtering-pivots-based-on-external-ranges/, требуется всего одна минута и двадцать секунд, чтобы прочитать .visible статус PivotField с 20 000 предметов в нем. Многие из сводных таблиц, с которыми я легко работаю, имеют такое количество элементов в них, поэтому, когда я пишу код, который должен работать на , любой PivotField Я не использую этот подход.

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

Я обычно делаю две копии сводной таблицы, и использовать одну из них, чтобы определить, что видно в поле, а другой для определения

  • Что (если что-нибудь) фильтруется, но не отображается из-за к применяемым фильтрам на других PivotFields; и
  • Что (если что-нибудь) не фильтруется и не видно

Код для достижения этой цели является довольно сложным, и часть коммерческой надстройки, я в здании, так что я могу не поделиться Я боюсь.

+0

Привет @Jeffreyweir Я пытаюсь подсчитать элементы no.of, а не нет видимых элементов. Пожалуйста, обратитесь к моему отредактированному вопросу – Pramod

+0

Обратите внимание, что ваш отредактированный вопрос - это совсем другой вопрос к тому, который вы изначально задали, и я все еще не на 100% понятен, что вы хотите, потому что в вашем комментарии выше говорится, что вы хотите подсчет, но ваш отредактированный вопрос говорит, что вы хотите распечатать каждый PivotItem вместе со своим видимым статусом. Просьба уточнить. – jeffreyweir

+0

Извините. На самом деле, чтобы сделать любой из них, мне нужно получить доступ к элементам опоры. Моя основная проблема - доступ к элементам сводной информации. Итак, я попытался напечатать элементы сводной информации в моем предыдущем отредактированном вопросе. Фактическая вещь, которую я хочу сделать, - получить список видимых элементов внутри массива, один за другим. Для этого я пытаюсь использовать различные способы доступа к сводным элементам поля поворота, присутствующим в фильтре отчетов. Спасибо за вопрос – Pramod

Смежные вопросы