Страницы: 1
RSS
Как переопределить используемую область листа в Excel
 
Добрый день.

Мне нужна помощь в решении такой проблемы:
Есть файл (.xls), в нем лист с 3295 строками, мне нужно скопировать и вставить этот лист в файл  (.xlsx). После копирования (обычным ctrl+c,ctrl+v),  я удаляю 10 ненужных строк и видными остаются 3285. Запускаю ctrl+end и курсор спускается на 3295 строку. Причем я проделывала копирование несколько раз и сначала все было ок (то есть эти 10 строк удалялись), но, в какой-то момент это перестало работать. Не могу разобраться в чем проблема?

Вычитала, что есть достаточные длинные способы борьбы с удалением этих пустых 10-и строк, но мне это не подходит потому что конечным файлом будет пользоваться много людей и слишком сложный метод не подходит.
Help
 
Цитата
leslip написал:
то есть эти 10 строк удалялись
удаляйте именно строки, и не их содержание.
 
Я удалаю именно строку, не содержание
 
По моим ощущениям я сама того не зная включила какую-то функцию, которая при копировании с листа на лист сохраняет старую используемую область.
Просто до определенного момента все было ок, я удаляла эти 10 строк и excel воспринимал новую область
 
Пользовательский диапазон изменится после сохранения.
 
Цитата
leslip написал:
. Запускаю ctrl+end
Перед этим файл сохраняете?  
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
Цитата
vikttur написал:
после сохранения.
Виктор, это не должно отражаться на ctrl-end. Для UsedRange - да, но не для последней заполненной ячейки.

leslip, попробуйте все тоже самое но в другом файле, или в том же файле но на другом листе.....
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
это не должно отражаться на ctrl-end
Это почему же? он указывает на последнюю ячейку рабочей зоны и не важно есть там значения или нет
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
Цитата
vikttur написал:
Пользовательский диапазон изменится после сохранения.
vikttur,спасибо! После сохранения сработало. Пользовательский диапазон обновился. Скажите, а диапазон всегда обновляется только после сохранения?

А я не могла случайно снять какую-то автоматическую настройку (может нажала какое-то сочетание клавиш и сняла какую-то галочку)?

Большое спасибо за совет!
Изменено: leslip - 04.10.2018 17:25:39
 
Цитата
leslip написал:
обновляется только после сохранения
да
В жизни нет ничего невозможного! Есть только недостаток знаний и умений.
 
Александр,  спасибо, понятно
 
Цитата
Александр написал:
Это почему же?
Докажите на примере.  Если это так то, .end(xlup) должно давать некорректный результат так как всегда должна давать последнюю строку UsedRange.
По вопросам из тем форума, личку не читаю.
 
Ячейка с данными не определяет размер диаазона пользователя.
Последняя видимая ячейка с данными в столбце 1
Код
.Cells(.Rows.Count, 1).End(xlUp).Row

Размер пользовательского диапазона:
Код
.UsedRange.Rows.Count

Если начинается не с первой строки, то отнять к-во первых
Код
.UsedRange.Rows.Count-.UsedRange.Row+1

А если нужна последняя строка, то, соответственно, добавить верхние.
 
Цитата
vikttur написал:
Размер пользовательского диапазона:
он используемый Used, а не пользовательский User хотя и это было б не правильно так как custom range.

Фактически то, о чем написал Виктор я и пытался сказать. Область используемая включает в себя все что изменено на листе и данные и форматы и формулы.... . и её обновление в сторону уменьшения  только при сохранении.
Область данных  - это только заполненный ячейки формулами или константами. CTRL+END работает с ними и реагирует на изменения мгновенно, при этом еще, как указал Виктор  учитывает видимость ячеек.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал: он используемый Used, а не пользовательский User
А ведь точно. А я никогда не задумывался, всегда пользовательским обзывал )
 
Ну я прям себя Балу почувствовал :-)
По вопросам из тем форума, личку не читаю.
 
Это Юра. Волос много.
 
Прям триптих
Изменено: БМВ - 04.10.2018 20:22:44
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх