Здравствуйте. Имеется таблица с датами (ставятся произвольно, по возрастанию) и N строками значений для соответствующих дат. Таблицу прикрепил.
Необходимо написать макрос, чтобы он вставлял график для соответствующей зависимости (значения величин от даты). При этом в таблице значения данных регулярно добавляются справа (новые значения даты и соответствующие значения Param 1... Param N). Количество строк N иногда может увеличиваться (не часто). График должен содержать одну кривую с зависимостью и две горизонтальных линии на уровне "Порог_низ" и "Порог_верх".
Можно ли сделать так, чтобы макрос был одинаковый для любой строки? Например, срабатывал бы для строки 3, если курсор расположен в любом месте строки 3. Тогда для графика берутся значения, E1:Q1 и E3:Q3. Первое значение графика всегда одинаковое (столбец E). Последнее определяется последним заполненным значением в соответствующей строке. В идеале было бы разместить в столбце B формулу для запуска макроса, чтобы можно было запускать его просто кликнув на ячейку в соответствующей строке в столбце В.
Mikers, здравия. Запишите макрорекордером смену исходных данных, на которые ссылается диаграмма. Адаптируйте этот код под событийный макрос листа Worksheet_SelectionChange. По переменной Target Вы определите строку для Вашего диапазона. Как определить границу правую/нижнюю в строке/столбце данных Вы найдёте поиском на форуме и/или в сети.
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
позвольте поинтересоваться: - почему код макроса не отображается в этой книге при нажатии на кнопку "Макросы"? - как в книге определяются значения ячеек X_кон, Х_нач и др.? Как книга узнает, где будут эти значения?
Mikers, код макроса (Worksheet_SelectionChange) смотрим в модуле листа 'Лист1'.
Цитата
Mikers написал: X_кон, Х_нач и др.? Как книга узнает, где будут эти значения?
1.Создаём (руками) для диапазонов рядов диаграммы Имена (например в Диспетчере_имён). 2.На диаграмме (руками) заменяем адреса диапазонов этими Именами: например, в строке формул, выделив ряд диаграммы, меняем =РЯД(Лист1!$A$3;Лист1!$E$1:$R$1;Лист1!$E$3:$R$3;1) на =РЯД(Лист1!$A$3;Лист1!Значен.X;Лист1!Значен.Y;1).
А макрос (после выделения ячейки) - переопределяет расположение (и размеры) Именованных диапазонов для выбранной строки таблицы (фокус в том, что сами формулы диаграммных рядов, при этом, - не изменяются).