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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Возврат экрана к активной ячейке средствами 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
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
А если так?
[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
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

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


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениенаверно что-то типа такого нужно
[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
  • Страница 1 из 1
  • 1
Поиск:

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