По идее должно работать в таком виде, на тестовой таблице у меня нет ошибок. Обычно проблемы с удалением строк или столбцов возникают, когда в удаляемом диапазоне встречаются объединенные ячейки - если дело в этом, то сначала нужно разделить их, пройдясь в цикле по удаляемому диапазону.
И еще формат файла надо зырить и что лежит в удаляемых столбцах
Здесь нужно быть аккуратным: если таблица сдержит помимо пустых строк, строки с заполненными и пустыми ячейками, то часть ячеек перескочит со своих строк на другие, что испортит таблицу. Если таблица в формате EXCEL 2007 , то EXCEL не даст испортить таким образом таблицу: появится сообщение «Данная команда неприменима для перекрывающихся диапазонов».
СОВЕТ: Стоит помнить, что ячейки, содержащие формулы (даже если это ссылки на пустые ячейки), не считаются пустыми по определению.
По идее должно работать в таком виде, на тестовой таблице у меня нет ошибок. Обычно проблемы с удалением строк или столбцов возникают, когда в удаляемом диапазоне встречаются объединенные ячейки - если дело в этом, то сначала нужно разделить их, пройдясь в цикле по удаляемому диапазону.
Комментарий недоступен
Разделить селекцию 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, чтобы к нему присмотреться.
Ну и как правильно подсказали, удаление делать справа налево.
Комментарий недоступен