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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.08.2010, 12:43   #1
O_H
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 68
По умолчанию Как сделать Deactivate объекту Chart?

Часть кода:
ActiveSheet.ChartObjects("Диаграмма 2").Activate
ActiveChart.Axes(xlCategory, xlSecondary).TickLabelPosition = xlNextToAxis
.......................
Код отрабатывает нормально, только вот диаграмма остаётся выделенной.
Как убрать?
В хелпе написано. что объект Chart имеет метод Deactivate, но команда
ActiveChart.Deactivate
не проходит.
O_H вне форума Ответить с цитированием
Старый 09.08.2010, 12:54   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

А не надо делать Activate - тогда и Deactivate не понадобится...

Попробуйте как-то так:

Код:
    With ActiveSheet.ChartObjects("Диаграмма 2")
        .Axes(xlCategory, xlSecondary).TickLabelPosition = xlNextToAxis
        ' ...
    End With
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 09.08.2010, 13:00   #3
O_H
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 68
По умолчанию

"Как-то так" я первым делом попробовал, но получил в ответ:
"Object doesn't support this property or method (Error 438)" и начал городить код с Activate.
O_H вне форума Ответить с цитированием
Старый 09.08.2010, 13:04   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
я первым делом попробовал, но получил в ответ
Я тоже как-то получал подобную ошибку.

Сделайте, как я - потратьте полчаса на изучение объектной модели диаграммы, и ошибки не будет.
На форуме есть примеры кода - можете переделать их.

Ваш код, скорее всего, заработает в таком виде:

Код:
With ActiveSheet.ChartObjects("Диаграмма 2").Chart
        .Axes(xlCategory, xlSecondary).TickLabelPosition = xlNextToAxis
        ' ...
    End With
EducatedFool вне форума Ответить с цитированием
Старый 09.08.2010, 13:24   #5
O_H
Пользователь
 
Регистрация: 06.07.2010
Сообщений: 68
По умолчанию

Точно! В конструкции With потерялся сам объект Chart
Спасибо!
O_H вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обратиться к объекту формы из другого класса java micha-r Общие вопросы по Java, Java SE, Kotlin 1 03.10.2009 21:07
Как привязать событие или макрос к динамическому объекту (commandbutton) в форме? ekesar Microsoft Office Excel 7 09.12.2008 09:13
Как обратиться к объекту который был только что создан Arassir Помощь студентам 5 24.10.2008 20:42
Как объекту рисования (овал) присвоить значение? Град Microsoft Office Excel 8 17.07.2008 10:42