Привет! Пытаюсь облегчить себе работу и подготовить выданную таблицу, зачистив ненужные столбцы, но что-то не понимаю, в чем вылезает ошибка. Пробовала чисто интуитивно разные способы, но ни один не сработал — либо чистит неверно, либо выпадает в ошибку "данная команда неприменима для перекрывающихся диапазонов".
По идее должно работать в таком виде, на тестовой таблице у меня нет ошибок. Обычно проблемы с удалением строк или столбцов возникают, когда в удаляемом диапазоне встречаются объединенные ячейки - если дело в этом, то сначала нужно разделить их, пройдясь в цикле по удаляемому диапазону.
спасибо, я об этом думала, но объединенные встречаются только в первых двух строках, которые удаляю как раз первым же делом.
или нужно делать какую-то задержку, чтобы макрос понял, что этих объединенных уже нет?
или надо всё равно сначала пройтись какой-нибудь командой на разъединение?
ломаю голову, потому что вручную выходит всё, даже через запись макроса, а как запускаю его на свежеоткрытой таблице — не пускает.
Разделить селекцию range на несколько, если ты именно столбцы удаляешь
DeleteRange "E:AH"
DeleteRange "AJ:AK"
и так далее
Sub DeleteRange(r)
Range(r).Select
Selection.Delete Shift:=xlToLeft
End Sub
и удалять столбцы по очереди - не? нужно обязательно весь этот огромный range за раз выделить и удалить?
только в обратном порядке, удалять столбцы справа налево, иначе учитывать сдвижку столбцов
И еще формат файла надо зырить и что лежит в удаляемых столбцах
Здесь нужно быть аккуратным: если таблица сдержит помимо пустых строк, строки с заполненными и пустыми ячейками, то часть ячеек перескочит со своих строк на другие, что испортит таблицу. Если таблица в формате EXCEL 2007 , то EXCEL не даст испортить таким образом таблицу: появится сообщение «Данная команда неприменима для перекрывающихся диапазонов».
СОВЕТ: Стоит помнить, что ячейки, содержащие формулы (даже если это ссылки на пустые ячейки), не считаются пустыми по определению.
Разделив удаление столбцов по одному range, будет проще найти хотя бы косячный range, чтобы к нему присмотреться.
Ну и как правильно подсказали, удаление делать справа налево.
и нет, не обязательно за раз, но я, во-первых, хотела облегчить код, во-вторых, запуталась со сдвигом столбцов: то ли после каждого удаления новые имена ставить, то ли первоначальные.. и что-то ни один вариант не удовлетворял.