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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2010, 15:30   #1
ndvikulov
 
Регистрация: 16.09.2010
Сообщений: 8
По умолчанию Изменение свойств объекта не активируя его

ActiveSheet.ChartObjects ("Диаграмма 5").Activate
ActiveChart.SetSourceData Source:=Sheets("Лист 1").Range(Cells(3, 9), Cells(i, 9))

Это для того чтобы с помощью макроса изменять вид графика в зависимости от значений в ячейках. После выполнения график становится активным как будто на него нажали.

Как поменять свойства объекта не активируя его?

И еще вопрос. Можно ли график построить по данным из массива? Допустим есть массив с известным количеством элементов. Source:=ИмяМассива не канает

Последний раз редактировалось ndvikulov; 16.09.2010 в 17:13.
ndvikulov вне форума Ответить с цитированием
Старый 16.09.2010, 16:04   #2
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

можно вот так
Код:
ActiveChart.SeriesCollection(2).Values = "={1;2;3;4;5}"
аналитика вне форума Ответить с цитированием
Старый 16.09.2010, 16:14   #3
ndvikulov
 
Регистрация: 16.09.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от аналитика Посмотреть сообщение
можно вот так
Код:
ActiveChart.SeriesCollection(2).Values = "={1;2;3;4;5}"
активация объекта еще до изменения значений происходит же...
ndvikulov вне форума Ответить с цитированием
Старый 16.09.2010, 16:14   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Так проканает.Соответственно имена и диапазоны ваши
Код:
Sub Test()
Dim Diag As Shape
 
Set Diag = Sheets("Лист1").Shapes("Диаграмма 1")
 
 Diag.Chart.SeriesCollection(1).XValues = "=Лист1!$A$10:$A$2026"
   Diag.Chart.SeriesCollection(1).Values = "Лист1!$B$10:$B$2026"
   
  Set Diag = Nothing
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 16.09.2010, 16:15   #5
ndvikulov
 
Регистрация: 16.09.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Так проканает.Соответственно имена и диапазоны ваши
Код:
Sub Test()
Dim Diag As Shape
 
Set Diag = Sheets("Лист1").Shapes("Диаграмма 1")
 
 Diag.Chart.SeriesCollection(1).XValues = "=Лист1!$A$10:$A$2026"
   Diag.Chart.SeriesCollection(1).Values = "Лист1!$B$10:$B$2026"
   
  Set Diag = Nothing
End Sub
как я понял тут динамически создается диаграмма. а у меня уже созданная
ndvikulov вне форума Ответить с цитированием
Старый 16.09.2010, 16:34   #6
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Я же написал,свои имена и диапазоны вставить
Вложения
Тип файла: rar Переключатель.rar (13.1 Кб, 17 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 16.09.2010, 19:12   #7
ndvikulov
 
Регистрация: 16.09.2010
Сообщений: 8
По умолчанию

в общем получилось, но когда лист защищен при выполнении ошибка:


Что с этим можно сделать?(

вопрос о том, как в диаграмме использовать данные из массива остается открытым
ndvikulov вне форума Ответить с цитированием
Старый 16.09.2010, 19:21   #8
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

так программно снимите защиту листа а затем ее верните назад
ActiveSheet.Protect Password = "123"
ActiveSheet.Unprotect Password = "123"
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234

Последний раз редактировалось R Dmitry; 16.09.2010 в 19:27.
R Dmitry вне форума Ответить с цитированием
Старый 16.09.2010, 19:28   #9
ndvikulov
 
Регистрация: 16.09.2010
Сообщений: 8
По умолчанию

и что? тоже самое. без защиты работает, а с защитой нет. мне нужно использовать этот файл с защитой
ndvikulov вне форума Ответить с цитированием
Старый 16.09.2010, 19:31   #10
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от ndvikulov Посмотреть сообщение
и что? тоже самое. без защиты работает, а с защитой нет. мне нужно использовать этот файл с защитой
так вы ж программно снимаете защиту
ActiveSheet.Unprotect Password = "Ваш пароль" В начале модуля
а затем ставите чего непотнятного
ActiveSheet.Protect Password = "Ваш пароль" в конце модуля
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cкрипт с использованием объекта layer, его свойств и методов Zempery JavaScript, Ajax 0 05.04.2010 12:09
Cкрипт с использованием объекта layer, его свойств и методов Zempery Помощь студентам 0 05.04.2010 11:41
Изменение свойств объекта во время выполнения процедуры Gypsy Общие вопросы Delphi 4 28.12.2009 11:49
Изменение свойств файла dimonbest Win Api 7 23.02.2009 20:42
С помощью методов и свойств объекта осуществляется управление терминалом. Имя (идентификатор) объекта User>lia Общие вопросы Delphi 4 16.01.2009 16:37