|
Excel: макрос обновления диаграммы
|
|||
---|---|---|---|
#18+
в VB не силен. Поэтому прошу помощи в макросе обновления SetSourceData у диаграммы. В общем суть такая, есть много листов документа, на каждом листе диаграмма обновляется макросом: Код: plaintext 1. 2. 3. 4. 5.
Когда листов становится очень много, происходит смещение и диаграммы начинают смотреть на другие листы (первые). К примеру лист30 смотрит не на себя, а на лист4. Отчет формируется кусочками(листами) - поэтому происходит такая ерунда. Помогите написать макрос чтобы обновить у Chart активный лист. Чтобы он смотрел на себя, а не запоминал прямой индекс листа. Хочу прогнать его вконце формирования отчета по всем страницам и сделать правильное обновление. Update: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Можно ли как нибудь втащить данные Range которые я задавал через SetSourceData ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2010, 15:54 |
|
Excel: макрос обновления диаграммы
|
|||
---|---|---|---|
#18+
NYMEZIDE, Прочитал четыре раза - нифига не понял. Почему диаграмма начинает смотреть на другой лист и что значит вообще в вашем понимании "смотреть"? Что за смещение и почему происходит? Пользователи химичат? Код неправильно работает? Почему вы не можете повторить во втором коде то же, что делаете в первом? В общем попробуйте переизложить все по-другому. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2010, 21:18 |
|
Excel: макрос обновления диаграммы
|
|||
---|---|---|---|
#18+
Пишу подробности формирования. Есть 5 отчетов с диаграммами. Они формируются как 5 отдельных документов. Формирует их приложение. Приложение задает параметры диаграммы: где данные лежат. По отдельности все существует замечательно. Появилась новая функция - сводный отчет: все эти 5 диаграмм в одном документе. Я их делаю так: создаю 5 документов. А затем перебрасываю все листы в общий документ. Вот тут и происходит косяк с листами. В отдельных документах они все почти завязаны на свой лист, который первый! И в Сводном отчете, при копировании они начинают смотреть на первый лист! А должны смотреть на свой. Я хоть и задавал им ActiveSheet.Range - они запоминают индекс. И при копировании индекс остается. Мне надо обновить все диаграммы - показать всем, что надо смотреть на ActiveSheet.Range. На свой лист, а не на первый. Надеюсь понятно объяснил. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2010, 16:24 |
|
Excel: макрос обновления диаграммы
|
|||
---|---|---|---|
#18+
Теперь понятно. Только теперь непонятно, в чем трудность. У вас же есть код (первый приведенный фрагмент), почему нельзя им воспользоваться? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2010, 16:44 |
|
Excel: макрос обновления диаграммы
|
|||
---|---|---|---|
#18+
Shocker.ProТеперь понятно. Только теперь непонятно, в чем трудность. У вас же есть код (первый приведенный фрагмент), почему нельзя им воспользоваться? он подразумевает передачу (nRowBeg, nRowEnd) в качестве параметров. А они уже неизвестны после формирования первых диаграмм. Вот если бы можно было сохранить эти параметры как уникальные для каждого листа. Можно переменную для листа задать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2010, 17:48 |
|
Excel: макрос обновления диаграммы
|
|||
---|---|---|---|
#18+
NYMEZIDEА они уже неизвестны после формирования первых диаграмм. Можно переменную для листа задать? ну так бы и сказали, а то ходите вокруг да около Переменные, если не ошибаюсь, только для книги можно задать, но не для листа. А в чем проблема хранить эти данные непосредственно в ячейках листа? ЗЫ: Также посмотрите свойство .Address у SourceData диаграммы после переноса. Может оттуда что-то можно извлечь. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2010, 17:54 |
|
|
start [/forum/topic.php?fid=60&fpage=114&tid=2159229]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
3ms |
others: | 344ms |
total: | 482ms |
0 / 0 |