Не обновляется 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.154 из 5
Похожие ответы