powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как в VBA изменить ряд исходных данных диаграммы, но значение передать из переменной
3 сообщений из 3, страница 1 из 1
как в VBA изменить ряд исходных данных диаграммы, но значение передать из переменной
    #37833482
pechkin13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все уважаемые Гуру, и иже с ними! Нужен совет:
как в VBA изменить ряд исходных данных диаграммы, но значение передать из переменной.

Конкретнее: должен построить около 500 одинаково подобных диаграмм. Поэтому создал первую, оформил её, и потом её продублировал сколько нужно. А теперь, чтоб упростить себе работу по коррекции рядов исходных данных в свойствах продублированных диаграмм хочу воспользоваться средствами VBA.

использую команду ActiveChart.SeriesCollection.Values

Если явно указать ссылку на ряд данных "=List1!R1C1:R1C100", то все OK. Но мне нужно выполнить такую коррекцию в цикле, где ссылка будет определяться в переменной "=List1!R" & MyLine & "C1:R" & MyLine & "C100". У меня выдает ошибку 1004 "Нельзя установить свойство Values класса Series"

Долбусь уже несколько дней, не могу справиться с проблемой. Может у кого будут идеи? Справиться нужно побыстрее
...
Рейтинг: 0 / 0
как в VBA изменить ряд исходных данных диаграммы, но значение передать из переменной
    #37833507
pechkin13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кажется проблема связана с тем, что коррекция ссылок на ряды исходных данных для диаграмм выполняется тогда, когда там еще нет самих данных, т.е. ссылки указывают на пустые ячейки или значения #N/A (в русскоязычном EXCEL это #Н/Д). Что-то поэтому поводу нашел у Microsoft.

Поэтому в циклах коррекции ссылок на ряды исходных данных сначала изменяем свойства диагарммы:
для пустых значений точки не отображаются .DisplayBlanksAs = xlNotPlotted
или подразумеваются нулевые значения .DisplayBlanksAs = xlZero

Затем выполняем непосредственно коррекцию ссылок на ряды исходных данных.

После этого возвращаем свойство диаграммы интерполировать пустые значения .DisplayBlanksAs = xlInterpolated
...
Рейтинг: 0 / 0
как в VBA изменить ряд исходных данных диаграммы, но значение передать из переменной
    #37839076
pechkin13th
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
РЕШЕНО: макрос выдает ошибку 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. При такой особенности мне не нужны были нули у второй кривой, где у неё не было значений.

Буду рад, если мои, возможно несколько путанные объяснения, кому-то помогут. Сам бился с проблемой около недели, уже руки начинали опускаться, думал что не справлюсь.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как в VBA изменить ряд исходных данных диаграммы, но значение передать из переменной
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]