Не обновляется usedrange листа - VBA
Формулировка задачи:
Доброго времени суток.
Столкнулся со следующей проблемой.
Есть рабочий лист (в коде это переменная ws)
На листе есть таблица которая в зависимости от данных в книге расширяется право и вниз. Граница "неизменной шапки" таблицы определена именованным диапазоном StartData.
Есть код удаления всех старых данных в таблице
Все было замечательно.
ws.usedrange соответствовал использованному диапазону
Однако однажды пришлось добавить код на событие листа onchange
Где, при изменении определенных ячеек менялось форматирование таблицы но это не важно. Важно что обработка события появилась.
И приплыли.
После удаления строк количество строк у использованного диапазона также уменьшалось количество строк.
Однако после удаления столбцов это срабатывает только первый раз после открытия книги, при последующих запусках количество столбцов у использованного диапазона не уменьшается. Но при добавлении столбцов - растет.
Если убрать обработчик события onchange все работает нормально опять\
Прошу помогите как разобраться с данной проблемой?
Офис 2010
как показала практика проблема не в обработке события onchange. Разбираюсь почему даже при ручном удалении столбцов нажатие ctrl+end перемещает по старому диапазону использованных данных. со строками такого не наблюдается !!!!
!!!! как оказалось даже на новых книгах ехель перестал обновлять использованный диапазон.!!! Кто знает в чем может быть прикол?
Решение задачи: «Не обновляется usedrange листа»
textual
Листинг программы
private function GetUsedRange(byref ws as worksheet) as range set GetUsedrange = nothing if ws is nothing then exit function debug.print ws.usedrange.address set GetUsedrange = ws.usedrange end function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д