2017-01-23 3 views
0

Я перебираю элементы управления ActiveX в своей таблице, чтобы реализовать управление вкладкой. У меня есть около 100 элементов управления в моей таблице, поэтому не все подходит для одной «страницы» (все это на одной вкладке, вам просто нужно прокрутить вниз.)Excel/VBA - установите фокус и прокрутите до пункта управления

Я могу использовать Активировать, чтобы установить фокус на следующий контроль. Однако, когда я просматриваю элементы управления и пропускаю нижнюю часть окна просмотра, окно автоматически не прокручивается, чтобы показать элемент управления с фокусом.

Есть ли способ заставить электронную таблицу прокручиваться так, чтобы элемент управления, который имеет фокус, фактически находится на экране?

+0

Посмотрите на Application.Windows (indexOfWindow) .ScrollRow или ScrollColumn или ScrollIntoView – Sorceri

ответ

0

Sorceri пригвоздил его прямо к голове. Я использовал Window.ScrollRow для прокрутки страницы после того, как я установил фокус. Единственная проблема заключается в том, что это устанавливает нижнюю часть строки в верхнюю часть окна, так что это просто вне экрана. Я смог это решить, указав:

ActiveWindow.ScrollRow = row-3 

Спасибо!

Смежные вопросы