Не обновляется usedrange листа - VBA

Формулировка задачи:

Доброго времени суток. Столкнулся со следующей проблемой. Есть рабочий лист (в коде это переменная ws) На листе есть таблица которая в зависимости от данных в книге расширяется право и вниз. Граница "неизменной шапки" таблицы определена именованным диапазоном StartData. Есть код удаления всех старых данных в таблице
 dim rng as range
 set rng=ws.names("StartData").Referstorange
 dim scol&, srow&
 scol=rng.column+1
 srow=rng.row+1
 ws.range(ws.columns(scol), ws.columns(ws.columns.count)).entirecolumn.delete
 ws.range(ws.rows(srow), ws.rows(ws.rows.count)).entirerow.delete
Все было замечательно. ws.usedrange соответствовал использованному диапазону Однако однажды пришлось добавить код на событие листа onchange Где, при изменении определенных ячеек менялось форматирование таблицы но это не важно. Важно что обработка события появилась. И приплыли. После удаления строк количество строк у использованного диапазона также уменьшалось количество строк. Однако после удаления столбцов это срабатывает только первый раз после открытия книги, при последующих запусках количество столбцов у использованного диапазона не уменьшается. Но при добавлении столбцов - растет. Если убрать обработчик события onchange все работает нормально опять\ Прошу помогите как разобраться с данной проблемой? Офис 2010Добавлено через 11 минут как показала практика проблема не в обработке события onchange. Разбираюсь почему даже при ручном удалении столбцов нажатие ctrl+end перемещает по старому диапазону использованных данных. со строками такого не наблюдается !!!!Добавлено через 1 час 23 минуты !!!! как оказалось даже на новых книгах ехель перестал обновлять использованный диапазон.!!! Кто знает в чем может быть прикол?

Код к задаче: «Не обновляется usedrange листа - VBA»

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
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

13   голосов, оценка 4.154 из 5


СДЕЛАЙТЕ РЕПОСТ