Всем привет, есть самописный отчет который выгружает данные из базы 1С в установленный шаблон файла Excel, файл состоит из нескольких листов. Чтобы данные в файл корректно записывались, пользователь перед формированием отчета редактирует файл excel, а именно удаляет ненужные колонки с данными на определенных листах.
В коде формирования отчета есть фрагмент удаления диапазона колонок (нужно удалить колонки начиная с 5 до 20 включительно) с определенных листов файла excel. Код отрабатывает но удаляет колонку через одну, как это исправить? на первом снимке с 5-ой колонки я внес числа по возрастанию, на втором снимке результат выполнения кода. Колонки удалены через одну.
Фрагмент кода
Для Каждого Элемент Из МассивЛистовExcel Цикл
Для НомерУдаляемойКолонки = 5 по 20 Цикл
Элемент.Columns(НомерУдаляемойКолонки).Delete();
КонецЦикла;
КонецЦикла;
Для НомерУдаляемойКолонкиМинусом = -20 по -5 Цикл
НомерУдаляемойКолонки = -НомерУдаляемойКолонкиМинусом;
Элемент.Columns(НомерУдаляемойКолонки).Delete();
КонецЦикла;
А зачем удалять по одной? Удаляете сразу весь требуемый диапазон. Не знаете как - сделайте запись макроса в Экселе и посмотрите как надо делать.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший