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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2016, 15:29   #1
ymnuhj
Пользователь
 
Регистрация: 26.03.2012
Сообщений: 42
По умолчанию Изменение диапазона данных точечной диаграммы через переменные VBA

Добрый день.
есть точечная диаграмма на единственном листе в книге Excel (Office 2013). И есть необходимость автоматически через макрос менять диапазон отображаемых данных.

Попробовал сделать это в ручную. Записаный макрос выглядит так.

Код:
Sub Макрос1()

    ActiveSheet.ChartObjects("Диаграмма 1").Activate
    ActiveChart.SetSourceData Source:=Range("Лист1!$B$6:$D$12")

End Sub
Проблема в том, что если я задаю диапазон через Range(Cells(r1,c1),Cells(r2,c2)), где r и с переменные,макрос не работает. Кто нибудь в курсе как это делается?
ymnuhj вне форума Ответить с цитированием
Старый 05.05.2016, 15:40   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
Sub Макрос1()
    Dim r1&, c1&, r2&, c2&
    ActiveSheet.ChartObjects("Диаграмма 1").Activate
    ActiveChart.SetSourceData Source:=Range("Лист1!$B$6:$D$12")
    r1 = 1: c1 = 1
    r2 = 13: c2 = 2
    ActiveChart.SetSourceData Source:=Range("Лист1!$a$1:$b$13")
    ActiveChart.SetSourceData Source:=Range("Лист1!$B$6:$D$12")
    ActiveChart.SetSourceData Source:=Range(Cells(r1, c1), Cells(r2, c2))
End Sub
попробовал, меняет диапазон ОК
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 05.05.2016, 15:55   #3
ymnuhj
Пользователь
 
Регистрация: 26.03.2012
Сообщений: 42
По умолчанию

Да действительно. Работает.
У меня в коде координаты немного посложнее были заданы. И макрос не работал. А когда постил проблему постарался все упростить.
Значит ошибка была в другом месте.
Спасибо
ymnuhj вне форума Ответить с цитированием
Старый 05.05.2016, 18:59   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от ymnuhj Посмотреть сообщение
У меня в коде координаты немного посложнее были заданы.
Например?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение свойств сохраненного запроса через VBA shefus Microsoft Office Access 2 20.01.2013 11:58
Изменение данных через ListView Juan ASP.NET 0 10.04.2012 13:42
изменение данных через Query Ks2010 БД в Delphi 7 10.08.2010 13:24
Суммирование НЕ диапазона, а конкретный ячеейк через VBA Артур Иваныч Microsoft Office Excel 8 23.11.2009 11:49
Выбор диапазона для диаграммы по дате alexbob Microsoft Office Excel 1 27.10.2008 07:35