Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / макрос выдает ошибку 1004 метод Delete из класса Series завершен неверно / 7 сообщений из 7, страница 1 из 1
11.06.2012, 13:54
    #37834294
pechkin13th
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
макрос выдает ошибку 1004 метод Delete из класса Series завершен неверно
уважаемые Гуру и иже с ними!!! срочно нужна помощь, несколько дней не могу справиться с проблеммой: макрос выдает ошибку 1004 метод Delete из класса Series завершен неверно.

имею 20 диаграмм, на каждой из которых 2 ломаные кривые, с помощью макроса пытаюсь очистить их от исходных данных, чтоб потом опять же с помощью макроса задать новые ряды с исходными данными. Первую диаграмму очищает, на второй на первом же ряде исходных данных останавливается. Макрос выглядит так:

For i = 1 To 20 Step 1
ActiveSheet.ChartObjects(i).Activate
'производим предварительное удаление из диаграммы старых исходных данных
ActiveChart.ChartArea.Select
With ActiveChart
Do Until .SeriesCollection.Count = 0
.SeriesCollection(1).Delete
Loop
End With
Next i

зачем пытаюсь удалять SeriesCollection: сначала пытался макросом изменять ссылки на эти ряды, но выскакивала ошибка 1004 "Нельзя установить свойство Values класса Series", её я побороть не смог, на нескольких форумах никто так и не отозвался с советом, поэтому я таким образом пытался проблему обойти. Но ...

Может у кого будут какие-то идеи??? Очень нужна помощь, причем время не терпит
...
Рейтинг: 0 / 0
11.06.2012, 14:15
    #37834321
guest1234567890
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
макрос выдает ошибку 1004 метод Delete из класса Series завершен неверно
авторсначала пытался макросом изменять ссылки на эти ряды, но выскакивала ошибка 1004 "Нельзя установить свойство Values класса Series", её я побороть не смог
Показывай - как пытался.
...
Рейтинг: 0 / 0
11.06.2012, 16:03
    #37834418
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
макрос выдает ошибку 1004 метод Delete из класса Series завершен неверно
pechkin13th,

Не пробовал и не вдавался, но может попробовать обычный цикл справа налево (вместо Do Until) ?

И почему ты активируешь графики вместо прямого обращения к ним? Для чего тебе нужно, чтобы они были именно активированы и даже выбраны?
...
Рейтинг: 0 / 0
11.06.2012, 19:12
    #37834598
pechkin13th
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
макрос выдает ошибку 1004 метод Delete из класса Series завершен неверно
VladConn,

сначала делал это и обычным циклом, была та же проблема, поэтому нашел на форумах подобное решение, оно вроде более элегантное чем обычный цикл, но проблема осталась
...
Рейтинг: 0 / 0
11.06.2012, 19:16
    #37834605
pechkin13th
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
макрос выдает ошибку 1004 метод Delete из класса Series завершен неверно
VladConnpechkin13th,

Не пробовал и не вдавался, но может попробовать обычный цикл справа налево (вместо Do Until) ?

И почему ты активируешь графики вместо прямого обращения к ним? Для чего тебе нужно, чтобы они были именно активированы и даже выбраны?

Да, кстати, возможно текст моего макроса не самый совершенный, поскольку пользователь в VBA я начинающий. Именно поэтому в тексте макроса появляются активация графика или его выбор. Макрос я сначала пишу с помощью средства EXCEL по автоматической записи действий пользователя, а потом корректирую полученный код под свои нужды.
...
Рейтинг: 0 / 0
11.06.2012, 19:46
    #37834633
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
макрос выдает ошибку 1004 метод Delete из класса Series завершен неверно
pechkin13th,

В 999 из 1000 не требуется ни активировать, ни выбирать объекты для манипулирования с ними.
...
Рейтинг: 0 / 0
15.06.2012, 10:38
    #37839068
pechkin13th
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
макрос выдает ошибку 1004 метод Delete из класса Series завершен неверно
РЕШЕНО: макрос выдает ошибку 1004 метод Delete из класса 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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / макрос выдает ошибку 1004 метод Delete из класса Series завершен неверно / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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