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

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

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

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

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

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

Как можно обратиться к диаграмме, название которой будет указано в определенной ячейке? Например, значение А1 = "Chart1".

Нужно программно обратиться к диаграмме "Chart1"
Пробую вот так
Код:
ActiveSheet.ChartObjects("Worksheets("Sheet1").Range("A1").value").Activate
не получается.
ruavia3 вне форума Ответить с цитированием
Старый 14.07.2009, 17:29   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Воспользуйтесь макрорекордером - получите готовый код типа этого:
Код:
Sub Макрос1()
    ActiveSheet.ChartObjects("Диагр. 2").Activate
    ActiveChart.ChartArea.Select
End Sub
Ну или как-то так:
Код:
Sub test()
    ActiveSheet.ChartObjects(1).Activate
    ActiveSheet.ChartObjects("Chart 2").Activate
    ActiveSheet.ChartObjects(Worksheets("Sheet1").Range("A1")).Activate
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 14.07.2009, 17:42   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Сообщение от ruavia3 Посмотреть сообщение
Код:
ActiveSheet.ChartObjects("Worksheets("Sheet1").Range("A1").value").Activate
не получается.
Код:
ActiveSheet.ChartObjects(Worksheets("Sheet1").Range("A1").value).Activate


Убрать лишние кавычки
Вложения
Тип файла: rar Книга2.rar (11.2 Кб, 9 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 14.07.2009, 18:04   #4
ruavia3
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 253
По умолчанию

В приложенном файле пример. Я хочу поставить сетку на одной диаграмме, а снять с другой. Но обращаясь к диаграмме, через значение A1.

Вот код макроса, для установления сетки на Chart1

Sub Macro2()
'
'ActiveSheet.ChartObjects("Chart 1").Activate
ActiveSheet.ChartObjects(Worksheets ("Sheet1").Range("A1")).Activate

ActiveChart.ChartArea.Select
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = False
.HasMinorGridlines = True
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
End Sub


При нажатии кнопки значение в A1 меняется на Chart2.
Вложения
Тип файла: rar book1.rar (11.4 Кб, 8 просмотров)
ruavia3 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ряды в диаграмме maxic Microsoft Office Excel 5 26.05.2009 14:44
Вопрос по диаграмме Андрей K. Microsoft Office Excel 3 06.03.2009 10:49
Диаграмма в диаграмме Jevich Microsoft Office Excel 6 28.01.2009 00:29
Макрос: параметры линии на диаграмме rzrwolf Microsoft Office Excel 3 09.01.2009 07:45
определить по диаграмме в зависимости от (Х) значение (У) Vittall Microsoft Office Excel 10 05.01.2009 06:18