У меня есть большой набор диаграмм, которые используют разные коллекции серий в одной крупной электронной таблице Excel.Excel - программно получить данные, используемые в диаграмме
Для каждой диаграммы мне необходимо предоставить таблицу данных, содержащую только данные, используемые на этой диаграмме. Поэтому, если в диаграмме A указано 20 точек данных для каждой из 4 категорий, конечный результат, который я хочу, представляет собой таблицу с 20 строками и 4 столбцами - ровно 80 ячеек, точки данных, которые появляются на графике. (Плюс строка и столбец для заголовков серий.)
Как я это делаю сейчас, щелкнув правой кнопкой мыши на диаграмме и используя Select data
, чтобы выделить базовую серию. Затем я копирую эту серию в сторону, а затем повторяю, пока не скомпилирую таблицу.
Излишне говорить, что это чрезвычайно трудоемко и очень подвержено человеческой ошибке. Есть ли способ сделать это программно, используя VBA или что-нибудь еще?
Вы пытались сделать это вручную и записать свои действия в виде макроса? Когда я это сделал, я обнаружил, что единственная команда 'ActiveChart.ApplyLayout (5)' сделала много магии. Может быть, что-то подобное сработает для вас? – Floris
Посмотрите методы на объект ['Chart'] (http://msdn.microsoft.com/en-us/library/office/aa213725 (v = office.11) .aspx), в частности' Chart.XValues' , 'Chart.SeriesCollection (i) .XValues' и' Chart.SeriesCollection (i) .YValues'. – Chel