Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Выделение ячейки / 10 сообщений из 10, страница 1 из 1
16.05.2017, 13:59
    #39453800
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение ячейки
Здраствуйте!

Если программно выделять ячейку на листе, то обычно на экране эта ячейка находится посередине по вертикали. Но если отключить обновление экрана, то выделенная ячейка находится либо где то внизу, либо наверху или вообще вне экрана. Как можно обойти эту проблему?
...
Рейтинг: 0 / 0
16.05.2017, 14:13
    #39453813
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение ячейки
Чтобы позиция сместилась, экран надо обновить - а ты запретил.
Вот теперь подумай, что ты собсно спросил...
...
Рейтинг: 0 / 0
16.05.2017, 14:24
    #39453827
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение ячейки
ferzmikk,

Вместо выделения попробуйте использовать Application.Goto. Второй параметр = true
...
Рейтинг: 0 / 0
16.05.2017, 14:39
    #39453850
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение ячейки
The_Prist , запрет обновления экрана имеет приоритет.
...
Рейтинг: 0 / 0
16.05.2017, 15:20
    #39453890
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение ячейки
Запустил. Application.Goto при запрете обновления экрана работает.
...
Рейтинг: 0 / 0
16.05.2017, 16:47
    #39453981
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение ячейки
ferzmikk , тогда версию Офиса назовите... потому как у меня в Excel 2007 SP2 MSO - не работает.
...
Рейтинг: 0 / 0
16.05.2017, 17:13
    #39453994
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение ячейки
Akina ferzmikk , тогда версию Офиса назовите... потому как у меня в Excel 2007 SP2 MSO - не работает.
2013
...
Рейтинг: 0 / 0
17.05.2017, 09:36
    #39454349
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение ячейки
Akinaзапрет обновления экрана имеет приоритетНе согласен. Скорее всего речь-то о том, чтобы после работы кода ячейка была выделена и экран сместился, а не во время выполнения непосредственно. Пока обновление отключено - не сработает и не отобразит. Но как только обновление вернуть в True - то все перерисуется на нужную область. Такое поведение наблюдается у всех версий Excel, начиная с 2000 точно.
Вот, простой код:
Код: vbnet
1.
2.
3.
4.
5.
6.
Sub ttt()
    Range("a1").Select
    Application.ScreenUpdating = 0
    Application.Goto "r500c60", True
    Application.ScreenUpdating = 1
End Sub


уверен, у Вас тоже заработает.
...
Рейтинг: 0 / 0
17.05.2017, 10:57
    #39454429
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение ячейки
Понятно, что после возобновления обновления экрана всё взлетает... а вот в варианте
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Range("a1").Select
Application.ScreenUpdating = False
Application.Goto "далеко", True ' вот этого мы не увидим
Call LongSub ' какой-нить Sleep
Application.Goto "ещё дальше", True ' и это пока не увидим
Call LongSub
Application.ScreenUpdating = True ' а вот теперь увидим
...
Рейтинг: 0 / 0
17.05.2017, 11:30
    #39454472
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выделение ячейки
AkinaПонятно, что после возобновления обновления экрана всё взлетает.Так я думаю так и надо было. Просто если делать обычный Select - то после возобновления обновления экрана видимая область листа будет там же, где была до отключения обновления, независимо от активной ячейки.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Выделение ячейки / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]