|
|
|
VBA несколько диаграмм на одном листе
|
|||
|---|---|---|---|
|
#18+
Всем привет, и с наступающим праздником. Начал использовать язык VBA, файл делаю в Excel2003. Использую довольно много диаграмм и реально возник вопрос можно ли на одном листе екселя разместить сразу две, три диаграммы, естественно с разными показателями. Сейчас получается рабочая диаграмма только в одном окне, хотя указываю для них разные диапазоны, как привожу в примере кода. Понимаю что If .ChartObjects.Count > 0 Then .ChartObjects.Delete убивает старые диаграммы, менять показатель 0 на 1 или 2 нет смысла, получается старые диаграммы не убиваются, что не есть хорошо. Умные книжки по VBA в этом вопросе ответа не дали. Как то можно дать каждой из двух диаграмм имя, знак, отличие что бы прога размещала убивала конкретную диаграмму. А может быть вообще в VBA это не возможно – разместить пять диаграмм на одном листе? Спасибо если кто подскажет. привожу часть кода с двумя диаграммами в двух окнах из которых работает только одно окно Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 13:36 |
|
||
|
VBA несколько диаграмм на одном листе
|
|||
|---|---|---|---|
|
#18+
Имя Chart выясняется просто: ActiveChart.Name По-моему, оно только читается, но не пишется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 15:17 |
|
||
|
VBA несколько диаграмм на одном листе
|
|||
|---|---|---|---|
|
#18+
Да похоже оно не пишеться, и диаграммы не различаються ничем, и DeleteChart срубает их все кроме последней. Если что накапаю по диаграммам, отпишу. Ну должно же быть решение. Просто мой изучение VBA это поиск решений день за днём, книга Гарнаева Разработка приложений очень помогает, но чуть ухожу в сторону, начинаются траблы в решении которых есть определённая красота, но так как язык пока знаю не очень и возникают такие ситуации. Ну вобщем дать имя строящейся диаграмме, то есть разделить их между собой, что бы в дальнейшем код работал с каждой в отдельности пока не получаеться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 19:38 |
|
||
|
VBA несколько диаграмм на одном листе
|
|||
|---|---|---|---|
|
#18+
Так дать имя и не получится, но его дает за вас система, вы имя узнайте и ссылайтесь на диаграмму по ее узнанному имени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 19:58 |
|
||
|
VBA несколько диаграмм на одном листе
|
|||
|---|---|---|---|
|
#18+
Семён СемёновичДа похоже оно не пишеться, и диаграммы не различаються ничем,Нуууу... а если подумать? Как они могут ничем не различаться? Семён СемёновичПросто мой изучение VBA это поиск решений день за днём, книга Гарнаева Разработка приложений очень помогает, но чуть ухожу в сторону, начинаются траблы в решении которых есть определённая красота, но так как язык пока знаю не очень и возникают такие ситуации. Во первых, в Офисе есть такая штука как macro-recorder. Tools->Macro->Record New Macro. Запусти запись макроса, сделай что тебе нужно на листе, останови запись, а потом вдумчиво рассмотри получившийся макрос. Только смотреть на него надо ВДУМЧИВО. Макро-рекодер делает макросы привязаные к текущей ситуации на листе и без рашпиля их использовать нельзя. Во вторых, находясь в окне VBA ткни кнопку F2 получишь список всех объектов которые зарегестрированы в текущей книге. Изучай этот список - намного полезнее будет чем читать книги. Ну а чтобы разобраться с диаграмами, показываю. Вот на пустом листе я запустил MacroRecoder и нарисовал две диаграммы на одном листе. Можешь скопировать этот макрос напрямую в чистую книгу и запустить: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. А если хочешь изменить имя графика, то используй знак присваивания: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 20:03 |
|
||
|
VBA несколько диаграмм на одном листе
|
|||
|---|---|---|---|
|
#18+
VladConnТак дать имя и не получится, но его дает за вас система, вы имя узнайте и ссылайтесь на диаграмму по ее узнанному имени.Не обманывай. Имя дать можно без проблем. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 20:08 |
|
||
|
VBA несколько диаграмм на одном листе
|
|||
|---|---|---|---|
|
#18+
Спасибо, сейчас буду ВДУМЧИВО капать но уже по вашему коду вижу, что подхожу к задаче с совсем другой стороны, точнее сказать я просто зациклился ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 20:46 |
|
||
|
VBA несколько диаграмм на одном листе
|
|||
|---|---|---|---|
|
#18+
Ещё раз спасибо всем. Спасибо за макрос. И по поводу F2 и VBAProject это просто круто, упрощает, точнее очищает взляд на то, что сделал в текущем проекте, в умной книжке про это так конкретно написано не было. Буду работать ВДУМЧИВО, но завтра сегодня уже поздно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2007, 21:15 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34513847&tid=2164077]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
175ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 505ms |

| 0 / 0 |
