Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2009, 11:34   #1
ruavia3
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 253
По умолчанию Как перестроить график с помощью макроса

Имеются заданные(через Insert>Name>Define) переменные, а=A2:A20, b=B2:B200, c = C2:C20, d=D2:D20 и так далее.
Мне необходимо, чтобы график построенный на переменных a и b, при нажатии кнопки строился на переменных c и d.
ruavia3 вне форума Ответить с цитированием
Старый 01.04.2009, 11:46   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Т.е. нужно изменить диапазон построения диаграммы с "A2:B20" на "C2:D20" ?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 01.04.2009, 11:48   #3
ruavia3
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 253
По умолчанию

вообщем да, но необходимо учесть разницу в максимальных и минимальных значениях диапазонов.
ruavia3 вне форума Ответить с цитированием
Старый 01.04.2009, 11:48   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

как-то так:
ActiveSheet.ChartObjects(1).Activat e
ActiveChart.SetSourceData Source:=Range(...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 01.04.2009, 11:58   #5
ruavia3
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 253
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
как-то так:
ActiveSheet.ChartObjects(1).Activat e
ActiveChart.SetSourceData Source:=Range(...
Спасибо за ответ. Это подойдет,если диапазон построения графика зафиксирован, а в моем случае данные добавляются вниз ежедневно и я задал диапазон с помощью переменных, в которых прописан OFFSET.

Поэтому, необходимо, чтобы при нажатии кнопки макрос менял построение графика за счет изменения переменных. Возможно что-то сделать в таком случае?
ruavia3 вне форума Ответить с цитированием
Старый 01.04.2009, 12:09   #6
mchip
Форумчанин
 
Регистрация: 24.06.2008
Сообщений: 516
По умолчанию

Вот с этой темы скачай test1.zip, там формируются графики по разным значениям. Посмотри. Будут вопросы пиши.
Можно сделать все! Было бы время, да деньги...
mchip вне форума Ответить с цитированием
Старый 01.04.2009, 12:27   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
Это подойдет,если диапазон построения графика зафиксирован
это подойдет в любом случае, если вы научите макрос, как выбирать "правильный" диапазон ячеек, или оператор сначала в ручном режиме укажет поименованый диапазон, а макрос сошлется на это имя. Как по мне - первый вариант гораздо интереснее.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 01.04.2009, 13:35   #8
ruavia3
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 253
По умолчанию

Не могли бы прописать умный макрос или его кусок - для CommandButton1, чтобы график мог перестроиться на переменные e,f,g?
Вложения
Тип файла: rar test.rar (15.0 Кб, 24 просмотров)
ruavia3 вне форума Ответить с цитированием
Старый 01.04.2009, 18:22   #9
ruavia3
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 253
По умолчанию

Вот что записывает рекодер, если менять диапазон в ручную.

ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.ChartArea.Select
ActiveChart.SeriesCollection(1).Val ues = "=test.xls!e"
ActiveChart.SeriesCollection(1).Nam e = "=Sheet1!R2C6"
ActiveChart.SeriesCollection(2).Val ues = "=test.xls!f"
ActiveChart.SeriesCollection(2).Nam e = "=Sheet1!R2C7"
ActiveChart.SeriesCollection(3).Val ues = "=test.xls!g"
ActiveChart.SeriesCollection(3).Nam e = "=Sheet1!R2C8"
ruavia3 вне форума Ответить с цитированием
Старый 01.04.2009, 19:09   #10
Marchuk
Пользователь
 
Аватар для Marchuk
 
Регистрация: 27.03.2009
Сообщений: 78
По умолчанию

счас если найду как я подобное делал .
Знание формул - Слабо; Знание макросов - Средне;

Оформляем воздушными шарами.
Marchuk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск макроса с параметрами из другого макроса Saladin Microsoft Office Excel 2 19.01.2009 09:43
Как сбросить зависание макроса valerij Microsoft Office Excel 3 26.12.2008 07:38
Срочно! Помогите построить график с помощью QChart MARCH БД в Delphi 0 08.12.2008 04:04
с помощью макроса скопировать значение всей строки(не одной ячейки, а нескольких) global Microsoft Office Excel 6 27.11.2008 17:43
Построить график с помощью Делфи Rusl92 Мультимедиа в Delphi 4 02.10.2008 22:19