Я пытаюсь уменьшить объем механической работы, которую мне нужно выполнить в документе Excel. В нем 13 рабочих листов, по одному на каждый месяц + один, который подводит итоги за весь год. В каждом рабочем листе есть данные и графики. Я хочу сделать график, который берет в два столбца и рисует их. Затем я хочу скопировать график и вставить его на следующей странице, где он будет принимать данные из тех же столбцов. Проблема в том, что когда я создаю график, он пишет следующий диапазон

='02.2016 Д2'!$A$2:$A$30,'02.2016 Д2'!$C$2:$C$30

поэтому, когда я копирую его на следующий лист, он все равно использует данные с предыдущего листа. Я бы обошел их и починил один за другим, но есть 13 таблиц * 8 графиков, и я склонен полагать, что есть более простой способ.

1 ответ1

0

Сначала плохие новости: вы не можете использовать относительные ссылки в диаграммах Excel. Они должны указывать конкретный лист и везде иметь «$».

Лучшая идея - копировать листы вместо диаграмм. Если диаграмма указывает данные на том же листе, Excel отрегулирует ссылку. Тогда вам нужно только указать правильные данные на каждом листе.

Я делаю такие вещи ежедневно, и IMO оптимальный рабочий процесс:

1) Создайте нужный лист за один месяц.

2) Параметризовать все зависит от листа и поместить данные в отдельный лист. Идея состоит в том, чтобы вручную изменить только 1 ячейку на каждом листе *.

3) Скопируйте лист и измените параметр. Конец. :)

Это также соответствует правильному дизайну листа: разделенные данные и анализ, причем первые в максимально сжатой форме (например, одна таблица для всего :)).

*) Вы можете использовать имя листа, но обычно это не рекомендуется.


Если по какой-либо причине вышеприведенное решение неприемлемо, вы можете заменить ссылки на источники в листах, используя VBA. Инструкция проста:

refChart.SetSourceData Source:=Range("A1:C4")

Однако перебирать выбранные листы и назначать правильные диапазоны может быть сложно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .