Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Возврат экрана к активной ячейке средствами vba - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Возврат экрана к активной ячейке средствами vba (Макросы/Sub)
Возврат экрана к активной ячейке средствами vba
motorus Дата: Суббота, 02.01.2016, 22:07 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток!
Созданный мною макрос обрабатывает длинный список, около 1500 строк, и меняет значение одной из ячеек в соответствии с заданными условиями. При этом ячейка выделяется - становится активной. Всё чудесно работает. Не смог решить на вид простую задачу: автоматический скролинг на активную ячейку (строку). Практически, мне надо методами vba, выполнить команду сочетания клавиш EXCEL: ("Ctrl+Back Space").

Причём команда
ActiveCell.Activate
вовсе не перемещает экран на активную ячейку.
Адрес ячейки у меня определяется примерно так: Cells(491, СтолбецNum).

Подскажите варианты решения этой задачи. Заранее благодарен!
 
Ответить
СообщениеДоброго времени суток!
Созданный мною макрос обрабатывает длинный список, около 1500 строк, и меняет значение одной из ячеек в соответствии с заданными условиями. При этом ячейка выделяется - становится активной. Всё чудесно работает. Не смог решить на вид простую задачу: автоматический скролинг на активную ячейку (строку). Практически, мне надо методами vba, выполнить команду сочетания клавиш EXCEL: ("Ctrl+Back Space").

Причём команда
ActiveCell.Activate
вовсе не перемещает экран на активную ячейку.
Адрес ячейки у меня определяется примерно так: Cells(491, СтолбецNum).

Подскажите варианты решения этой задачи. Заранее благодарен!

Автор - motorus
Дата добавления - 02.01.2016 в 22:07
SLAVICK Дата: Суббота, 02.01.2016, 22:49 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2007
Репутация: 674 ±
Замечаний: 0% ±

2007,2010,2013,2016
А если так?
[vba]
Код
Cells(491, СтолбецNum).Activate
[/vba]
Может отключено обновление экрана - попробуйте вставить в код:
[vba]
Код
Application.ScreenUpdating = True
DoEvents
[/vba]


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеА если так?
[vba]
Код
Cells(491, СтолбецNum).Activate
[/vba]
Может отключено обновление экрана - попробуйте вставить в код:
[vba]
Код
Application.ScreenUpdating = True
DoEvents
[/vba]

Автор - SLAVICK
Дата добавления - 02.01.2016 в 22:49
krosav4ig Дата: Воскресенье, 03.01.2016, 02:15 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1467
Репутация: 597 ±
Замечаний: 0% ±

Excel 2007, 2013
наверно что-то типа такого нужно
[vba]
Код
Application.Goto Cells(491, СтолбецNum), 1
[/vba]
если активным окном во время выполнения макроса будет книга Excel, то можно просто [vba]
Код
Application.SendKeys "^{BS}"
[/vba]


(_)Õvõ(_)
 
Ответить
Сообщениенаверно что-то типа такого нужно
[vba]
Код
Application.Goto Cells(491, СтолбецNum), 1
[/vba]
если активным окном во время выполнения макроса будет книга Excel, то можно просто [vba]
Код
Application.SendKeys "^{BS}"
[/vba]

Автор - krosav4ig
Дата добавления - 03.01.2016 в 02:15
motorus Дата: Воскресенье, 03.01.2016, 10:22 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, Вы подсказали дельную мысль!!! Я действительно в начале кода отключил обновление экрана, а в конце - включил. Ещё не успел проверить, но шкурой чувствую - дело в этом! Спасибо!
 
Ответить
СообщениеSLAVICK, Вы подсказали дельную мысль!!! Я действительно в начале кода отключил обновление экрана, а в конце - включил. Ещё не успел проверить, но шкурой чувствую - дело в этом! Спасибо!

Автор - motorus
Дата добавления - 03.01.2016 в 10:22
motorus Дата: Воскресенье, 03.01.2016, 10:23 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, спасибо за совет! Попробую всё, что мне здесь порекомендовали. Результат - вечером.
 
Ответить
Сообщениеkrosav4ig, спасибо за совет! Попробую всё, что мне здесь порекомендовали. Результат - вечером.

Автор - motorus
Дата добавления - 03.01.2016 в 10:23
motorus Дата: Воскресенье, 03.01.2016, 14:44 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, Вы били правы! Вставил необходимый код в конце, после включения обновления экрана - и всё заработало! Ура! Спасибо за совет. Теперь это кажется очевидным, а вчера казалось невероятным hands
 
Ответить
СообщениеSLAVICK, Вы били правы! Вставил необходимый код в конце, после включения обновления экрана - и всё заработало! Ура! Спасибо за совет. Теперь это кажется очевидным, а вчера казалось невероятным hands

Автор - motorus
Дата добавления - 03.01.2016 в 14:44
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Возврат экрана к активной ячейке средствами vba (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!