|
как в VBA изменить ряд исходных данных диаграммы, но значение передать из переменной
|
|||
---|---|---|---|
#18+
все уважаемые Гуру, и иже с ними! Нужен совет: как в VBA изменить ряд исходных данных диаграммы, но значение передать из переменной. Конкретнее: должен построить около 500 одинаково подобных диаграмм. Поэтому создал первую, оформил её, и потом её продублировал сколько нужно. А теперь, чтоб упростить себе работу по коррекции рядов исходных данных в свойствах продублированных диаграмм хочу воспользоваться средствами VBA. использую команду ActiveChart.SeriesCollection.Values Если явно указать ссылку на ряд данных "=List1!R1C1:R1C100", то все OK. Но мне нужно выполнить такую коррекцию в цикле, где ссылка будет определяться в переменной "=List1!R" & MyLine & "C1:R" & MyLine & "C100". У меня выдает ошибку 1004 "Нельзя установить свойство Values класса Series" Долбусь уже несколько дней, не могу справиться с проблемой. Может у кого будут идеи? Справиться нужно побыстрее ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2012, 02:16 |
|
как в VBA изменить ряд исходных данных диаграммы, но значение передать из переменной
|
|||
---|---|---|---|
#18+
Кажется проблема связана с тем, что коррекция ссылок на ряды исходных данных для диаграмм выполняется тогда, когда там еще нет самих данных, т.е. ссылки указывают на пустые ячейки или значения #N/A (в русскоязычном EXCEL это #Н/Д). Что-то поэтому поводу нашел у Microsoft. Поэтому в циклах коррекции ссылок на ряды исходных данных сначала изменяем свойства диагарммы: для пустых значений точки не отображаются .DisplayBlanksAs = xlNotPlotted или подразумеваются нулевые значения .DisplayBlanksAs = xlZero Затем выполняем непосредственно коррекцию ссылок на ряды исходных данных. После этого возвращаем свойство диаграммы интерполировать пустые значения .DisplayBlanksAs = xlInterpolated ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2012, 03:00 |
|
как в VBA изменить ряд исходных данных диаграммы, но значение передать из переменной
|
|||
---|---|---|---|
#18+
РЕШЕНО: макрос выдает ошибку 1004 "Нельзя установить свойство Values класса Series" у меня источником ошибки было следующее: в рядах исходных данных для диаграмм у меня формулы, в некоторых случаях рассчитанные в них значения #Н/Д (или для англ.версии #N/A) - это неопределенное событие. У меня это использовалось для того, чтобы в некоторых точках диаграммы не было нуля, и соответственно она не отображалась на графике. но в таком случае (или если значения будут равны "" - т.е. "ПУСТО") для таких исходных данных MICROSOFT описал наличие ошибки у некоторых типов диаграмм, в том числе для графика (с маркерами), который использован у меня, в зависимости от порядка отображения на диаграммах пустых значений. Такая статья была ранее опубликована под Q213379. Ссылка, где нашел: http://translate.googleusercontent.com/translate_c?hl=ru&langpair=en%7Cru&rurl=translate.google.com.ua&u=http://support.microsoft.com/default.aspx%3Fscid%3Dkb%3Ben-us%3B213379&usg=ALkJrhg8pxTN4EOZlbctew_7MYQKfHUWZA РЕШЕНИЕ: 1) диапазон, в котором находятся исходные данные для диаграмм (точнее расчетные формулы, у которых значение иногда могло быть равно #Н/Д или ""), методом специальной вставки "только значения" скопировал в другое место; 2) полученный диапазон уже только значений обработал "ЗАМЕНИТЬ" (replace) значения #Н/Д на значения "" (пусто); 3) изменил свойства всех диаграмм (с помощью макроса, чтоб быстрее, поскольку у меня 29 листов по 20 диаграмм на каждом) через меню EXCEL Сервис\Параметры\Диаграмма\Активная_диаграмма "Для пустых ячеек - подразумеваются нулевые значения"; 4) потом макросом (на этом этапе работы моего макроса в принципе и возникала ошибка) выполнял коррекцию ссылок на ряды исходных данных для диаграмм, только теперь ссылки делал на второй диапазон (где только значения без формул), что в шаге 2; 5) после этого возвращал в свойствах диаграмм порядок отображения пустых ячеек "Для пустых ячеек - значения интерполируются". Мне нужен был именно такой порядок, чтоб некоторые точки на диаграмме вообще не отображались. Это потому, что я строил на каждом графике по 2 кривые, но у одной кривой точек для построения, например, 8, а у другой кривой вдвое меньше, 4. При такой особенности мне не нужны были нули у второй кривой, где у неё не было значений. Буду рад, если мои, возможно несколько путанные объяснения, кому-то помогут. Сам бился с проблемой около недели, уже руки начинали опускаться, думал что не справлюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2012, 10:43 |
|
|
start [/forum/topic.php?fid=60&fpage=75&tid=2157676]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
37ms |
get tp. blocked users: |
2ms |
others: | 288ms |
total: | 415ms |
0 / 0 |