Страницы: 1
RSS
Сброс последней ячейки, сброс (reset) последней ячейки - аналог ASAP
 
ДДЕНЬ! может быть и "баян".
После урезания таблицы макросом для удобства
надо перейти по CTRL_END на последнюю ячейку.
Переходит соответственно на бывшую до урезания  последней ячейку.
Т.е. в конце макроса необходим сброс.
Поиск и очистка "лишних" ячеек, удаление строк и столбцов,
конструкция ActiveSheet.UsedRange работает только после сохранения книги
и ее повторного открытия.
Мне надо как в ASAP - сбросить на живой открытой книге.
Решение есть?
 
После урезания надо сделать ThisWorkbook.Save
а потом переходите по Ctrl+End
Изменено: New - 01.11.2022 21:53:26
 
Возможные варианты
Код
 'определение границ данных

iLastRow = Cells(Rows.Count, 5).End(xlUp).Row

nColumn = Cells(1, Columns.Count).End(xlToLeft).Column

'используемого пространства

With ActiveSheet.UsedRange

        iRow = .Row + .Rows.Count - 1
        iClm = .Column + .Columns.Count - 1

End With



слэн: http://www.planetaexcel.ru/forum.php?thread_id=4737


да, мы что-то сразу на VBA перешли, а человек просил
"функцию" так вот:

=макс(если(диапазон<>"";строка(диапазон);1)

даст последнюю строку вашего
"диапазона". (условие можно менять под различные надобности)

Pavel55  http://www.planetaexcel.ru/forum.php?thread_id=5457
'последняя строка без
переменных по ширине данных    

Range(Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, Cells(Cells(Rows.Count, 1).End(xlUp).Row, _
Columns.Count).End(xlToLeft).Column)).Select

слэн  Сообщение добавлено 05.09.2008, 10:57

http://www.planetaexcel.ru/forum.php?thread_id=5672
как из pRange выделить начало и конец
диапазона

чуть проще:

rng.Cells(1).Address

rng.Cells(rng.Cells.Count).Address

 
)) эх, где же Слэн...
Изменено: New - 01.11.2022 22:52:05
 
Цитата
vral написал:
онструкция ActiveSheet.UsedRange работает только после сохранения книгии ее повторного открытия.
не совсм так. Есть вариант обойтись без этого например так
По вопросам из тем форума, личку не читаю.
 
Цитата
vral: надо перейти по CTRL_END на последнюю ячейку.
кроме .UsedRange есть ещё 3 способа определить последнюю ячейку на листе + её можно вычислить, зная, первую строку таблицы и количество строк в ней после удаления.
Изменено: Jack Famous - 02.11.2022 09:19:45
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
1)речь о макросе.
2) ячейки определяются и старые и новые. Не об определении самих ячеек
а о коде макроса, позволяющего "на лету" без

Save  обратиться по контрол-енд к последней ячейке
3)usedrange не работает(у меня)
 
Не это ли нужно?
Очистка неиспользуемых строк на листе (planetaexcel.ru)
 
vral, читайте посты 5 и 6, пока не дойдёт, что все варианты вам уже даны
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Объясните на последок в чем разница между

ActiveSheet.UsedRange
и
With ActiveSheet
   .UsedRange
 
  End With

?
Действительно второй вариант работает.
 
Цитата
vral написал:
в чем разница между
в том что один работает, а другой нет   :D
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
 :D
Вопрос, конечно, интересный. До сих пор разницы не наблюдалось.
Но vral, он и есть Враль!  :D
И подтверждать враньё доказательствами ниже его "достоинства?"
Изменено: RAN - 02.11.2022 16:55:59
 
Цитата
RAN написал:
До сих пор разницы не наблюдалось.
Андрей, тут не совсем прав. В реальности конструкция с With дает результат. Как и почему именно с ней происходит переинициализация  -нужно задавать вопрос разработчику.
По вопросам из тем форума, личку не читаю.
 
Миша, упираться не буду.  Все могет быть.
А на сайтах гадалок я не очень популярен.
Изменено: RAN - 02.11.2022 17:13:28
 
RAN, просто посмотри в каком контексте это используется, а именно, что при росте области использования в результате работ и при удалении строк, столбцов область часто не уменьшается до сохранения и переоткрытия. Без with  конструкция стреляет в холостую, а вот с with UsedRange принимает актуальное значение.
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх