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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2010, 20:18   #1
1134
Пользователь
 
Аватар для 1134
 
Регистрация: 20.01.2010
Сообщений: 53
По умолчанию Задать массив для графиков

Здравствуйте, буду краток...

Если задавать массив для построения графиков таким образом:
...
ActiveChart.SetSourceData Source:=ActiveSheet.Range("B1:B60,K 1:K60,L1:L60")
...

График рисуется как и задумывалось, я решил немного поправить, чтобы не указывать диапазон в ручную каждый раз, а делать это автоматически:

...
x = ActiveWorkbook.ActiveSheet.Cells(Ro ws.Count, 12).End(xlUp).Row
...
ActiveChart.SetSourceData Source:=ActiveSheet.Range("(1,2:x,2 ),(1,11:x,11),(1,12:x,12)")

и графики перестали изображаться как задумывалось, подскажите пожалуйста, как правильно записать этот момент
1134 вне форума Ответить с цитированием
Старый 27.07.2010, 20:35   #2
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Может так?
Range("B1:B" & x & ",K1:K" & x & ",L1:L" & x)
nilem вне форума Ответить с цитированием
Старый 28.07.2010, 09:32   #3
1134
Пользователь
 
Аватар для 1134
 
Регистрация: 20.01.2010
Сообщений: 53
По умолчанию

К сожалению не помогло...
1134 вне форума Ответить с цитированием
Старый 28.07.2010, 09:49   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

А если так попробовать?
Код:
Sub test()
    x = Cells(Rows.Count, 12).End(xlUp).Row
    '...
    ActiveChart.SetSourceData Intersect(Range("B:B,K:K,L:L"), Range("1:" & x))
End Sub
Цитата:
К сожалению не помогло...
А должно было помочь - код работает корректно.
Убедитесь сами:
Код:
Sub test()
    x = 60
    MsgBox Range("B1:B" & x & ",K1:K" & x & ",L1:L" & x).Address
End Sub
Значит, проблема где-то в другом участке кода.

Последний раз редактировалось EducatedFool; 28.07.2010 в 09:52.
EducatedFool вне форума Ответить с цитированием
Старый 28.07.2010, 12:01   #5
1134
Пользователь
 
Аватар для 1134
 
Регистрация: 20.01.2010
Сообщений: 53
По умолчанию

Тем не менее, код предложенный EducatedFool решил проблему, спасибо большое!
1134 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi] Как задать массив строк целиком? Lion-Tiger Помощь студентам 12 06.08.2023 18:05
Как задать в массив значение ячейки? StudentofSUSU Microsoft Office Excel 1 07.01.2010 23:43
Задать двумерный массив (матрицу) 6х4 zergon Помощь студентам 3 04.01.2010 00:29
как задать массив в программе? m.a.x.i.m Помощь студентам 14 12.12.2009 13:40
задать массив как константу...нужен совет dead-vip Паскаль, Turbo Pascal, PascalABC.NET 5 21.12.2008 16:07