В чем ошибка

Программирование на Visual Basic for Applications
n!ghtmare*
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.07.2003 (Ср) 7:09

В чем ошибка

Сообщение n!ghtmare* » 24.07.2003 (Чт) 7:46

Код: Выделить всё
ActiveSheet.ChartObjects("Диагр. 1").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.SeriesCollection(1).XValues = "=Лист1!R1C1"
    ActiveChart.SeriesCollection(1).Values = "=Лист1!R1C1"

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 24.07.2003 (Чт) 9:35

Судя по стилю заданного вопроса - в ДНК :lol:

n!ghtmare*
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.07.2003 (Ср) 7:09

Сообщение n!ghtmare* » 24.07.2003 (Чт) 10:00

RayShade писал(а):Судя по стилю заданного вопроса - в ДНК :lol:

А мне не смешно :cry:
Почему когда делаешь макрос>начать запись, а потом запустить выводится ошибка Невозможно получить свойство ChartObjects класса Worksheet

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 24.07.2003 (Чт) 10:22

Может ты записываешь макрос на одном листе, а воспроизводишь на другом?

n!ghtmare*
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.07.2003 (Ср) 7:09

Сообщение n!ghtmare* » 24.07.2003 (Чт) 10:31

Нет, лист тот :cry:

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 24.07.2003 (Чт) 10:37

Странно.. У меня заработало после того как я Activesheet заменил на прямое указание листа Sheets(1) а имя Диагр. 1 на индекс, то есть просто на 1.

n!ghtmare*
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.07.2003 (Ср) 7:09

Сообщение n!ghtmare* » 24.07.2003 (Чт) 10:53

Заработало, видимо это глюк VBA
Код: Выделить всё
ActiveChart.SeriesCollection(1).XValues = "=Лист1!R1C1"

А здесь что поменять?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 24.07.2003 (Чт) 10:56

Я бы на самом деле вообще код написал вот такой примерно:

Код: Выделить всё
with sheets(1).chartobjects(1)
.ChartArea.Select
.SeriesCollection(1).XValues = "=Лист1!R1C1"
.SeriesCollection(1).Values = "=Лист1!R1C1"
end with


И посмотрел. А елси ошибка быдет продолжаться то, вероятно, параметры может неправильные? ;)

n!ghtmare*
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.07.2003 (Ср) 7:09

Сообщение n!ghtmare* » 24.07.2003 (Чт) 11:03

Код: Выделить всё
.ChartArea.Select

Object doesn't support property or method
Блин, не работает

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.07.2003 (Пт) 7:21

Выкинь нафиг эту строку.

На будущее: диаграммы всегда называются "Chart N", так что либо так, либо по номеру.

Ну и последнее: код
Код: Выделить всё
ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Values = "=Лист1!R24C5:R25C5"
прокатывает, но только если в целевом диапазоне что-то есть.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

n!ghtmare*
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.07.2003 (Ср) 7:09

Сообщение n!ghtmare* » 28.07.2003 (Пн) 6:59

А как поменять номер диаграммы?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 29.07.2003 (Вт) 5:27

.Name

RayShade был прав... :(
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 76

    TopList