Как получить доступ к имени поля PivotCell.RowItem (n)? - PullRequest
2 голосов
/ 02 марта 2012

У меня есть сводная таблица Exel 2007, использующая классический макет с двумя полями строк. Для заданных данных PivotCell я хочу пройтись по циклам и идентифицировать соответствующие имена полей строк и значения элементов для этой ячейки. Мой код работает нормально, если я нахожусь в строке промежуточного или общего итога (0 или 1 элементов, связанных с ячейкой). Но происходит сбой, если я пытаюсь работать с ячейкой, связанной с 2 ​​элементами - «Ошибка времени выполнения« 1004 »: ошибка приложения или объекта».

Следующая строка завершается успешно, когда i = 1, но завершается неудачей, когда i = 2:

cellSpec(1, i) = pvtCell.RowItems(i).LabelRange.PivotCell.PivotField.SourceName

Когда я устанавливаю выражение наблюдения в pvtCell, я вижу, что:

pvtCell.RowItems(2).LabelRange.PivotCell=<Application-defined or object-defined error>

Все же pvtCell.RowItems(2).Name имеет ожидаемое действительное значение.

Кто-нибудь знает надежный способ получить имя поля RowItem?

1 Ответ

1 голос
/ 06 марта 2012

Я наконец нашел ответ на специальном форуме по Excel :) http://www.mrexcel.com/forum/showthread.php?p=1638552#post1638552

Код теперь проще, и он действительно работает!

cellSpec(1, i) = pvtCell.RowItems(i).Parent.SourceName
...