Страницы: 1
RSS
Переопределение UsedRange после удаления ячейки, Что ещё переопределяет UsedRange кроме обращения к нему самому или сохранения книги
 

Добрый день.
Попробуйте:
1) Создайте в книге новый пустой лист
2) Напишите в ячейки С3 и D4 любые значения
3) Удалите содержимое ячейки D4 любым из способов:
   а) Нажатием клавиши Del
   б) Удалением строки 4 или удалением столбца D
   в) Нажатием на ячейке D4 Главная --> Очистить --> Очистить все
4) Нажмите Ctrl+End, что равносильно выбору на окне «Перейти к» команды «Выделить группу ячеек» --> «Последнюю ячейку»
Выделится ячейка D4, хотя должна выделится ячейка С3.

То есть xl считает последней ячейкой D4, хотя таковой на самом деле является С3.
Та же история с макросом.

Скрытый текст

    Исправить можно, если до 4-шага:
А) Сохранить книгу
Б) Набрать в окне Immediate ActiveSheet.UsedRange и нажать Enter
В) Если это макрос, то обратиться к UsedRange (например s=ActiveSheet.UsedRange.Address)

Получается, если удалить значение какой-то ячейки, UsedRange переопределяется только после того, как книга сохраняется или обращаются к нему самому(UsedRange).

Вопрос: есть ли ещё какие-то действия, после которых переопределялся бы UsedRange?

Пересчёт книги, Скрытие и отображение нужного листа, Переход на другой и возврат на нужный лист – не помогли.

Изменено: Бахтиёр - 23.02.2018 14:17:38
 
Тут
 
skais675, у меня не очень с английским, но насколько я понял статью, там тоже про сохранение.
 
Попробуйте после удаления ячейки выполнить строку:
Код
With ActiveSheet.UsedRange: End Wtih
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Дмитрий:  With ActiveSheet.UsedRange: End Wtih
Цитата
Бахтиёр:  Исправить можно, если... обратиться к UsedRange
Да, Дмитрий, это помогает.
Видимо, нет других вариантов, кроме как сохранить книгу или обратиться к самому UsedRange.
Изменено: Бахтиёр - 28.02.2018 09:30:20
Страницы: 1
Читают тему
Наверх