Страницы: 1
RSS
Перемещение кодом к нужной ячейке (визуально)
 
Добрый день!
Нужно добиться следующего эффекта: код обрабатывает множество листов, на каждом листе табличка.
После выполнения кода, при открытии любого из обработанных листов мы должны увидеть нижний, правый угол таблицы. То есть переместиться в ее конец.
Я думал, что достаточно методом Select выбрать правую нижнюю ячейку, но это не помогло. Ячейка выделятся, но когда открываешь лист, видишь верхнюю левую часть листа (ну или любую другую, где сохранил пользователь).
Нашел решение через GoTo, но оно визуально тоже не перемещает в нужное место. Может ли это быть связано, с тем что выключено обновление экрана на протяжении всего макроса?
 
Baot,
Код
Sub kek()
Application.ScreenUpdating = False
    ActiveCell.SpecialCells(xlLastCell).Select
Application.ScreenUpdating = True
End Sub

Что мешает проверить самому?)

И да из за этого )
Изменено: Wild.Godlike - 12.04.2019 16:03:18
 
Нет, фишка была в том, что именно Select не выделял последнюю ячейку. Точнее выделял, но визуально не перемещался. Я что-то затупил, так легко было проверить, просто включив обновление экрана. И  как оказалось, действительно, в такой ситуации экран стал перемещаться к последней ячейке.
 
Добрый день, уважаемые форумчане. Постом ранее я писал, что в принципе причина обнаружена, и все заработало. Но вот визуально, все стало печально, во-первых перед глазами скачет картинка, перемещаясь в конец каждого листа, во-вторых, стало работать медленнее и подзависать. Может есть способы смещения экрана к последней ячейке, но без отражения до окончания макроса?
 
Цитата
Baot написал:
Может есть способы смещения экрана к последней ячейке, но без отражения до окончания макроса?
Application.ScreenUpdating = True последней строкой вашего макроса, перед END SUB. А не просто обрамление ActiveCell.SpecialCells(xlLastCell).Select этим.
По вопросам из тем форума, личку не читаю.
 
Цитата
Baot написал:
После выполнения кода, при открытии любого из обработанных листов мы должны увидеть нижний, правый угол таблицы. То есть переместиться в ее конец.
В модуль Эта книга
Код
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    ActiveCell.SpecialCells(xlLastCell).Show
End Sub
Страницы: 1
Наверх