powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Скопировать данные из сводной таблицы
10 сообщений из 10, страница 1 из 1
Скопировать данные из сводной таблицы
    #36548329
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможности форматирования данных в сводной таблице (Excel2003) не устраивают!
В связи с этим необходимо скопировать данные из сводной таблицы на другой лист в подготовленную-разукрашенную шаблон-таблицу.

Как культурно на VBA пробежаться по полям сводной таблицы с учетом ее структуры?

Например:
СтранаГородКол-во партКол-во стульевРоссия1225РоссияПитер710РоссияМосква 515Уругвай1430УругвайПитер813УругвайМосква617
Я могу отдельно пробежаться по значениям каждого из полей, вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
i =  0 
For Each pvtItem In pvtTable.PivotFields("Город").PivotItems
    i = i +  1 
    Debug.Print i & " - " & pvtItem.Name
Next pvtItem 

'Debug:
'1 - Питер
'2 - Москва
Но как видно PivotFields("Город") содержит только уникальные PivotItems (Конечно в свойстве DataRange будет указаные ссылка на диапазон из двух регионов "$A$2;$A$5"), и работать на таком уровне не удобно.
Тем более становится не понятно как разобраться в иерархие поле Страна-Город. Ведь одни значения поля Город принадлежат одной Стране, а другие - другой. И как это можно вычислить через PivotFields и PivotItems я так и не понял.
...
Рейтинг: 0 / 0
Скопировать данные из сводной таблицы
    #36548487
trofik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergeySV,
если есть подготовленная раскрашенная таблица - туда можно сразу же вписать формулы (=получить.данные.сводной.таблицы(...))
или нельзя?
...
Рейтинг: 0 / 0
Скопировать данные из сводной таблицы
    #36548549
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trofik
...или нельзя?Вроде на VBA просят :-)
Я не лезу ;-)
...
Рейтинг: 0 / 0
Скопировать данные из сводной таблицы
    #36548589
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trofikSergeySV,
если есть подготовленная раскрашенная таблица - туда можно сразу же вписать формулы (=получить.данные.сводной.таблицы(...))
или нельзя?

Одними формулами будет тяжеловато.
Всегда можно конечно поперекидывать данные средствами VBA, но тогда придется много лишней работы за Excel делать. В сводной удобно что она сама группирует данные и фильтры применять по ней удобно. При таком развитом программном функционале мне казалось, что проблема работы с полями сводной таблицы не должна представлять серьезных трудностей.

Я пока вижу только один вариант - ориентироваться на номер строки из свойства DataRange и таким образом стыковать PivotItems из разных PivotFileds
...
Рейтинг: 0 / 0
Скопировать данные из сводной таблицы
    #36548637
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeySVОдними формулами будет тяжеловато.
...проблема работы с полями сводной таблицы не должна представлять серьезных трудностей.
Она и не представляет.

ЗЫ В чём сложность работы одними формулами?
...
Рейтинг: 0 / 0
Скопировать данные из сводной таблицы
    #36548643
trofik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergeySV,

получить.данные.сводной.таблицы("Кол-во стульев";f1;"страна";"Россия";"Город";"Питер") - как раз и возьмет сгруппированные данные
...
Рейтинг: 0 / 0
Скопировать данные из сводной таблицы
    #36548659
trofik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
эта...
если просто в разукрашенном шаблоне просто нажать = и выбрать нужную ячейку из сводной таблицы (формула напишется автоматически), после обновления сводной - в шаблоне данные тоже поменяются
...
Рейтинг: 0 / 0
Скопировать данные из сводной таблицы
    #36548735
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мдаа, свойство DataRange тоже не очень подходит, оказывается оно не всегда доступно, да строчки могут быть скрыты.

На счет - (получить.данные.сводной.таблицы) извините, не догнал сразу что Вы про функцию, слово 'формула' меня отправила гулять по другим мыслительным тропинкам.

Изучаю щас этот вариант......
- чтобы функция работала необходимо раскрыть все строчки сводной таблицы;
- функции необходимо указать названия значений полей - содержимое исходной таблицы будет все время меняться, значит надо откуда-нибудь взять эти значения - получается видимо опять перебором в PivotFields
...
Рейтинг: 0 / 0
Скопировать данные из сводной таблицы
    #36548784
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trofikэта...
если просто в разукрашенном шаблоне просто нажать = и выбрать нужную ячейку из сводной таблицы (формула напишется автоматически), после обновления сводной - в шаблоне данные тоже поменяются

Мдаа, вариант хороший, НО в моем случае после обновлении данных в сводной таблице формулы перестают работать. Потому что у меня например вместо России с Уругваем оказываются Китай с США. Приведенный в начале топика пример в этом смысле не очень удачный. В реале меняются не только сами итоговые данные, но и значения полей в "области строк"
...
Рейтинг: 0 / 0
Скопировать данные из сводной таблицы
    #36549807
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фу, ну кажись разобрался.

Оказывается если пробежаться по ячейкам сводной таблицы из "области данных" (.DataBodyRange), то через свойство PivotCell.RowItems я получаю список полей (PivotItem) из "области строк" к которым это значение относится.

Т.е. логика оказывается обратная: от данных(от кол-ва стульев/парт из примера) к заголовкам строк (к Странам и Городам из примера)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Скопировать данные из сводной таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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