|
|
|
Обновить все сводные таблицы в книге с изменением исходного диапазона
|
|||
|---|---|---|---|
|
#18+
Добрый вечер, я думаю под вечер как всегда зайдут бывалые и помогут мне немножко :) Как то в справке не очень понял на эту тему Есть книга в которой несколько сводных таблиц на основании одного ПивотКэша. Как мне програмно изменять источник данных для ПивотКэша и обновлять все сводные??? Ну с обновлением проблем нет, а как источник менять. Источник лист Эксель, который после того как обновится ПивотКэш удаляется! Что-то типа, но невыходит Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2007, 19:15:53 |
|
||
|
Обновить все сводные таблицы в книге с изменением исходного диапазона
|
|||
|---|---|---|---|
|
#18+
DeggasadКак мне програмно изменять источник данных для ПивотКэша и обновлять все сводные??? Ну с обновлением проблем нет, а как источник менять. Источник лист Эксель, который после того как обновится ПивотКэш удаляется!Никак. Увы. .SourceData можно только читать, переопределять ее нельзя. Такое вот странное и непонятное ограничение. Если надо переделать сводные таблицы на новоый лист-источник данных, то проще всего будет убивать все сводные таблицы построеные на этом кеше, убивать сам кеш, потом создавать новый кеш и заново создавать сводные таблицы. Хотя лучше конечно либо не убивать лист источник а прятать его а потом просто заменять в нем данные. Либо использовать внешний источник (СУБД или хотя бы файл) тогда через PivotCash.Connection можно будет управлять местоположением источника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2007, 20:09:42 |
|
||
|
Обновить все сводные таблицы в книге с изменением исходного диапазона
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ. Ну а ежели всё-таки попробовать, получается такакя вот лабуда Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Всё работает только ПИВОТКЭШов получается столько же сколько таблиц. а не 1. Хотел первой табл диапазон определять, а остальным на основании неё, но чё-то не получилось Код: plaintext Подскажите Плиз если что сможете. И ещё вопросик вы писали что ПивотКэш удалить. А как это сделать? Или когда таблицы удаляешь он сам удаляется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2007, 02:52:24 |
|
||
|
Обновить все сводные таблицы в книге с изменением исходного диапазона
|
|||
|---|---|---|---|
|
#18+
Долго не работал форум! Расскажу, что за это время придумал! Все оказалось проще чем казалось! По крайней мере мой случай. Я сделал на листе с исходными данными для сводных именованный диапазон. И из него сделал Пивот, на который ссылаются все сводные таблицы. А потом удаляю лист с исходными данными. Теперь в любой момент могу переопределить именованный диапазон и обновить ПивотКэш, т.е. из кода осталось только такой кусок Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Подставляя в именованный диапазон любой Range могу менять источник для все сводных в книге. Главное чтобы поля в диапазоне совпадали с полями в существующих сводных и тогда не нужно сводные создавать каждый раз. Может это и непрофессионально, но мне нравится! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2007, 16:50:00 |
|
||
|
Обновить все сводные таблицы в книге с изменением исходного диапазона
|
|||
|---|---|---|---|
|
#18+
Вернее даже так Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2007, 17:07:39 |
|
||
|
Обновить все сводные таблицы в книге с изменением исходного диапазона
|
|||
|---|---|---|---|
|
#18+
DeggasadМожет это и непрофессионально, но мне нравится!Чем элегантней решение, тем оно лучше :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2007, 17:27:12 |
|
||
|
Обновить все сводные таблицы в книге с изменением исходного диапазона
|
|||
|---|---|---|---|
|
#18+
DeggasadВернее даже так Код: plaintext 1. 2. 3. Всё таки так хреново. Чё-то не всегда получается и стиль ссылок соскакивает на R1C1 сам, чё то не пойму. Может кто подскажет как правильно задать свойство RefersTo определённому имени! Пока пользуюсь первым вариантом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2007, 17:39:31 |
|
||
|
Обновить все сводные таблицы в книге с изменением исходного диапазона
|
|||
|---|---|---|---|
|
#18+
DeggasadЧё-то не всегда получается и стиль ссылок соскакивает на R1C1 сам А если вместо Код: plaintext 2) Не пойму - именованный диапазон меняется по кол-ву строк и столбцов и потом на основе нового диапазона требуется сводную обновить ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2007, 18:44:50 |
|
||
|
Обновить все сводные таблицы в книге с изменением исходного диапазона
|
|||
|---|---|---|---|
|
#18+
yuniki А если вместо Код: plaintext Да всё равно соскакивает. И вообще без конца ошибку выдаёт, не пойму как задать правильно Вернулся к первоначальному варианту, каждый раз добавляю с тем же именем и имя заменяется Код: plaintext 1. yuniki 2) Не пойму - именованный диапазон меняется по кол-ву строк и столбцов и потом на основе нового диапазона требуется сводную обновить ? Да вопроса уже и нет по сути. Был вопрос такой: Как всем сводным в книге подсовывать новый диапазон с исходными данными если исходные данные на листе. который создаётя програмно и удаляется по завершении процедуры. Сложность: Нельзя менять источник ПивотКэша. Выход(мой): ПивотКэш создаётся на основе именованного диапазона И когда листа с исходными данными нет обновить пивот нельзя А когда програмно создаю лист, делаю новый диапазон с таким именем как исходный для пивота и обновляю пивот. Он находит имя на которое ссылался и обновляется. а так как все сводные таблицы в книге заблаговременно созданы на основе этого пивота, то они все обновляются на этот новый диапазон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2007, 22:07:58 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34658442&tid=2182607]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 348ms |

| 0 / 0 |
