2014-10-10 4 views
0

У меня есть кодировка VB, которая скрывает строки выше и ниже требуемых значений ячеек, которые будут использоваться в качестве исходных данных для простой линейной диаграммы.Изменение диапазона SetSourceData при создании диаграммы

Как выбрать оставшийся (невидимый) диапазон ячеек в качестве диапазона SetSourceData?

можно выбрать диапазон со следующим ...

Range("D6").Offset(1, 0).Select 
Range(Selection, Selection.End(xlDown)).Select 

... диапазон всегда начинается в клетке под клетки С6.

Когда я пытаюсь использовать это как мой диапазон SetSourceData ...

ActiveSheet.Shapes.AddChart.Select 

ActiveChart.SetSourceData Source:=Range("D6").Offset(1, 0).Select.Range(Selection, Selection.End(xlDown)).Select 

ActiveChart.ChartType = xlLine 

... Я получаю следующее сообщение об ошибке:

Ошибка выполнения '438': объект не поддерживать этот метод собственности

Любые идеи?

Благодаря


На самом деле, следующий код выбирает данные мне нужно немного лучше ...

Range("D7", Cells(Rows.count, "D").End(xlUp)).SpecialCells(xlCellTypeVisible).Select 

... но, как я могу использовать это в качестве источника данных для мой график?

ответ

0

К сожалению, после создания более эффективного выбора кода ...

Range("D7", Cells(Rows.count, "D").End(xlUp)).SpecialCells(xlCellTypeVisible).Select 

... Я понял, что все, что я должен был сделать, чтобы использовать код в качестве источника данных диаграммы, было удалить. выберите 'из кода !!!

ActiveSheet.Shapes.AddChart.Select 

ActiveChart.SetSourceData Source:=Range("D8", Cells(Rows.count, "D").End(xlUp)).SpecialCells(xlCellTypeVisible) 

ActiveChart.ChartType = xlLine 

Выполняется нормально сейчас.

+0

Вы также должны изучить это, чтобы узнать, как избежать использования метода 'Select'. Вероятно, это ошибка №1 и значительно сложнее отладить код: http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros –

Смежные вопросы