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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2011, 12:34   #1
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию как задать источник данных для диаграммы

привет всем!))

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

нужно, чтобы в данные попадали, названия месяцев (2-я строка) и значения по строке ниже (например, по 4-й строке), соответствующие месяцам..
таким образом, не нужно учитывать скрытые столбцы с % и столбцы "Итого", "Периодов" и "%"
подскажите, как задать такой диапазон??

ПРИМЕР ФАЙЛА СМ. НИЖЕ

конечно все прекрасно работает, если скрыть все ненужные столбцы, но...

например, можно ли использовать в качестве источника данных Массив уже самих значений, а не ячеек?? если да, то как это прописать в макросе?
Вложения
Тип файла: zip Diagram_.zip (22.1 Кб, 9 просмотров)

Последний раз редактировалось Bape}l{ka; 20.09.2011 в 16:32.
Bape}l{ka вне форума Ответить с цитированием
Старый 20.09.2011, 15:16   #2
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Module3.tt

Посмотрите Вы просто скорее всего забыли обьявить что За данные вы хотите вставлять (числовые, текстовые)
Вложения
Тип файла: rar Diagram_.rar (25.1 Кб, 16 просмотров)
gluk_fm вне форума Ответить с цитированием
Старый 20.09.2011, 16:30   #3
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

gluk_fm
не совсем поняла, что вообще делает макрос (ваш ttt ?)

вот обновленный пример (в прошлый раз забыла лишние листы удалить, чтоб с толку не сбивали)

Diagram_2.rar
Bape}l{ka вне форума Ответить с цитированием
Старый 20.09.2011, 17:18   #4
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

В приложении я немного подкорректировал. В зависимости что за данные Вам надо (посмотрите как делается на примере "pp"). А если Вы хотите непосредственно числа загружать через лист бокс, то там тоже есть пример взятия параметра и передачи в модуль построения.
Вложения
Тип файла: rar Diagram_2.rar (16.7 Кб, 17 просмотров)
gluk_fm вне форума Ответить с цитированием
Старый 20.09.2011, 18:11   #5
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

Cпаибо gluk_fm, я уже сама подумала, что диапазон можно составлять через &, буквы и цифры.. ну а если я сначала определяю нужный мне диапазон, то как потом мне его прописать в SourceData???
Код:
Set DiagrRng1 = ActiveSheet.Range(Cells(2, FirstCol), Cells(2, MaxCol)) '.SpecialCells.Visible  '.Value
DiagrRow = TextBox1.Value
Set DiagrRng2 = ActiveSheet.Range(Cells(DiagrRow, FirstCol), Cells(DiagrRow, MaxCol))

Set Diagram_ = Charts.Add
Diagram_.SetSourceData Source:=Worksheets(SheetName). _
        Range(DiagrRng1, DiagrRng2) ' ТУТ БЕРЕТСЯ ВЕСЬ ДИАПАЗОН МЕЖДУ 2-мя СТРОКАМИ, А МНЕ НУЖНЫ ТОЛЬКО ЭТИ 2 СТРОКИ
П.С. у меня 2003 эксель
Bape}l{ka вне форума Ответить с цитированием
Старый 20.09.2011, 18:28   #6
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Просто через запятую, параметром можете брать значение с формы тексбокс
Это как раз то что я Вам описывал в модуле pp. Там есть синтаксис который Вам и нужно реализовать.
gluk_fm вне форума Ответить с цитированием
Старый 20.09.2011, 18:34   #7
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

pp = "AD" & ff1 & ":AZ" & ff1 ' ff1-это параметр который передаётся с листбокс(значение которое Вы вводите в форме)
ActiveChart.SetSourceData Source:=Sheets("Лист1").Range( _
"AD2:AZ2," & pp)

Или как-то так:
ActiveChart.SeriesCollection(1).Val ues = _
"='Лист1'!$AD$2;'Лист1'!$AF$2;'Лист 1'!$AH$2;'Лист1'!$AJ$2;'Лист1'!$AD$ & " & ff1 & ";'Лист1'!$AF$& " & ff1 & ";'Лист1'!$AH$& " & ff1 & ";'Лист1'!$AJ$& " & ff1 & ""

Последний раз редактировалось gluk_fm; 20.09.2011 в 18:36.
gluk_fm вне форума Ответить с цитированием
Старый 20.09.2011, 19:00   #8
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

да, я поняла)
просто у меня количество столбцов меняется, и я хотела сделать их переменной, т.е. это цифра, если через Columns.Count определять, а не буква Т_Т

подскажите тогда пожалуйста, как мне получить буквенное значение столбца, когда у нас есть числовое??
Код:
MaxCol = Cells(1, ActiveWorkbook.ActiveSheet.Columns.Count).End(xlToLeft).Column
т.е. нужны только буквы без номера строки
Bape}l{ka вне форума Ответить с цитированием
Старый 20.09.2011, 19:06   #9
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Попробуйте переключится в режим когда столбцы не в буквенном а числовом значении отображаются. Я думаю тогда Вам будет полегче написать макрос по перебору столбцов и выору только неоходимыхю
gluk_fm вне форума Ответить с цитированием
Старый 20.09.2011, 22:38   #10
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

спасибо за совет, как-то даже не подумала о таком
Bape}l{ka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расчет данных для посторения диаграммы Ганта (Excel 2007) Альфина Microsoft Office Excel 3 20.07.2011 13:13
Задать местоположение диаграммы на листе 1134 Microsoft Office Excel 0 02.12.2010 13:18
Источник данных для отчета Swatch Microsoft Office Access 1 15.02.2010 20:02
Источник данных для формы Swatch Microsoft Office Access 2 17.12.2009 20:49
Как изменить внешний источник данных в Excel nikobar Microsoft Office Excel 0 03.09.2009 14:55