powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VisibleItems in PivotTable
3 сообщений из 3, страница 1 из 1
VisibleItems in PivotTable
    #37843014
Денис Б.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В справке есть пример как якобы можно вытянуть значения указанные в фильтре PivotFields.
Но похоже что с 2010-го (хотя и пишут в разделе "Excel 2010 Developer Reference") это уже не работает: возвращает одно значение (All) при любом раскладе.

Цитата:
Returns an object that represents either a single visible PivotTable item (a PivotItem object) or a collection of all the visible items (a PivotItems object) in the specified field. Read-only.
Syntax
expression.VisibleItems(Index)
expression A variable that represents a PivotField object.
Parameters
Name Required/Optional Data Type Description
Index Optional Variant The number or name of the item to be returned (can be an array to specify more than one item).

Remarks
For OLAP (OLAP: A database technology that has been optimized for querying and reporting, instead of processing transactions. OLAP data is organized hierarchically and stored in cubes instead of tables.) data sources, this property is read-only and always returns True. There are no hidden items.

Example

This example adds the names of all visible items in the field named "Product" to a list on a new worksheet.

Visual Basic for Applications
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Set nwSheet = Worksheets.Add
nwSheet.Activate
Set pvtTable = Worksheets("Sheet2").Range("A1").PivotTable
rw = 0
For Each pvtItem In pvtTable.PivotFields("Product").VisibleItems
    rw = rw + 1
    nwSheet.Cells(rw, 1).Value = pvtItem.Name
Next




Итак вопрос: как вытянуть эти выбранные в фильтре значения?
Пробовал пройтись циклом по PivotItems и при Visible = True вытянуть нужные значения, но цикл натыкается на последнюю строку "(blank)" и вылетает. Условие <>"(blank)" тоже не катит!
...
Рейтинг: 0 / 0
VisibleItems in PivotTable
    #37843066
Денис Б.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
решено:
цикл For Each всегда отрабатывает с ошибкой.
заработало так:
попробовал просто через цикл For и ограничил его .PivotItems.Count - 1 ("пусто" всегда есть и всегда внизу).
Ещё раз убедился, что в справке по VBA куча багов.
...
Рейтинг: 0 / 0
VisibleItems in PivotTable
    #37843555
Денис Б.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новый день, новый косяк:
Оказывается значение фильтра сводной таблицы - (пусто) не всегда отображается снизу.
Для фильтра с датами (пусто) появляется в других строках.

Также начали появляться мистические данные. Например в сводной таблице в фильтре по датам всего два месяца апрель и май и между ними (пусто). В файле вообще нет данных за другие месяцы. Но проходя циклом по .PivotItems(i).Name появляются ещё июнь и июль, а май пропадает... вчера не пил... может зря...

p.s. интересно. в обычном автофильтре пустые значения обозначаются словом (Пустые), а в фильтре сводной таблицы - (пусто). В чём здесь скрытый смысл? загадка :) . Ещё и первая буква регистром отличается :))
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VisibleItems in PivotTable
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]