|
|
|
Скопировать данные из сводной таблицы
|
|||
|---|---|---|---|
|
#18+
Возможности форматирования данных в сводной таблице (Excel2003) не устраивают! В связи с этим необходимо скопировать данные из сводной таблицы на другой лист в подготовленную-разукрашенную шаблон-таблицу. Как культурно на VBA пробежаться по полям сводной таблицы с учетом ее структуры? Например: СтранаГородКол-во партКол-во стульевРоссия1225РоссияПитер710РоссияМосква 515Уругвай1430УругвайПитер813УругвайМосква617 Я могу отдельно пробежаться по значениям каждого из полей, вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Тем более становится не понятно как разобраться в иерархие поле Страна-Город. Ведь одни значения поля Город принадлежат одной Стране, а другие - другой. И как это можно вычислить через PivotFields и PivotItems я так и не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 15:24 |
|
||
|
Скопировать данные из сводной таблицы
|
|||
|---|---|---|---|
|
#18+
SergeySV, если есть подготовленная раскрашенная таблица - туда можно сразу же вписать формулы (=получить.данные.сводной.таблицы(...)) или нельзя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 16:02 |
|
||
|
Скопировать данные из сводной таблицы
|
|||
|---|---|---|---|
|
#18+
trofik ...или нельзя?Вроде на VBA просят :-) Я не лезу ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 16:19 |
|
||
|
Скопировать данные из сводной таблицы
|
|||
|---|---|---|---|
|
#18+
trofikSergeySV, если есть подготовленная раскрашенная таблица - туда можно сразу же вписать формулы (=получить.данные.сводной.таблицы(...)) или нельзя? Одними формулами будет тяжеловато. Всегда можно конечно поперекидывать данные средствами VBA, но тогда придется много лишней работы за Excel делать. В сводной удобно что она сама группирует данные и фильтры применять по ней удобно. При таком развитом программном функционале мне казалось, что проблема работы с полями сводной таблицы не должна представлять серьезных трудностей. Я пока вижу только один вариант - ориентироваться на номер строки из свойства DataRange и таким образом стыковать PivotItems из разных PivotFileds ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 16:35 |
|
||
|
Скопировать данные из сводной таблицы
|
|||
|---|---|---|---|
|
#18+
SergeySVОдними формулами будет тяжеловато. ...проблема работы с полями сводной таблицы не должна представлять серьезных трудностей. Она и не представляет. ЗЫ В чём сложность работы одними формулами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 16:49 |
|
||
|
Скопировать данные из сводной таблицы
|
|||
|---|---|---|---|
|
#18+
SergeySV, получить.данные.сводной.таблицы("Кол-во стульев";f1;"страна";"Россия";"Город";"Питер") - как раз и возьмет сгруппированные данные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 16:52 |
|
||
|
Скопировать данные из сводной таблицы
|
|||
|---|---|---|---|
|
#18+
эта... если просто в разукрашенном шаблоне просто нажать = и выбрать нужную ячейку из сводной таблицы (формула напишется автоматически), после обновления сводной - в шаблоне данные тоже поменяются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 16:56 |
|
||
|
Скопировать данные из сводной таблицы
|
|||
|---|---|---|---|
|
#18+
Мдаа, свойство DataRange тоже не очень подходит, оказывается оно не всегда доступно, да строчки могут быть скрыты. На счет - (получить.данные.сводной.таблицы) извините, не догнал сразу что Вы про функцию, слово 'формула' меня отправила гулять по другим мыслительным тропинкам. Изучаю щас этот вариант...... - чтобы функция работала необходимо раскрыть все строчки сводной таблицы; - функции необходимо указать названия значений полей - содержимое исходной таблицы будет все время меняться, значит надо откуда-нибудь взять эти значения - получается видимо опять перебором в PivotFields ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 17:24 |
|
||
|
Скопировать данные из сводной таблицы
|
|||
|---|---|---|---|
|
#18+
trofikэта... если просто в разукрашенном шаблоне просто нажать = и выбрать нужную ячейку из сводной таблицы (формула напишется автоматически), после обновления сводной - в шаблоне данные тоже поменяются Мдаа, вариант хороший, НО в моем случае после обновлении данных в сводной таблице формулы перестают работать. Потому что у меня например вместо России с Уругваем оказываются Китай с США. Приведенный в начале топика пример в этом смысле не очень удачный. В реале меняются не только сами итоговые данные, но и значения полей в "области строк" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 17:41 |
|
||
|
Скопировать данные из сводной таблицы
|
|||
|---|---|---|---|
|
#18+
Фу, ну кажись разобрался. Оказывается если пробежаться по ячейкам сводной таблицы из "области данных" (.DataBodyRange), то через свойство PivotCell.RowItems я получаю список полей (PivotItem) из "области строк" к которым это значение относится. Т.е. логика оказывается обратная: от данных(от кол-ва стульев/парт из примера) к заголовкам строк (к Странам и Городам из примера) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 10:14 |
|
||
|
|

start [/forum/topic.php?fid=61&tid=2178298]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
175ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 462ms |

| 0 / 0 |
