Excel vba прокрутка экрана
Думаю ответ где-то на поверхности. Что-то вроде программного Ctrl+Home, но макрорекордер пишет Range("A1").Select.
Первые две строки листа зафиксированы.
Управление скроллом
Ребят, очень нужна помощь. Суть вопроса в следующем: Мне необходимо написать функцию, благодаря.
программное управление браузером
Может, кто знает, как из java или javascript прочитать (изменить) настройки браузера?
Программное управление куллером
Всем привет! Корпусной куллер очень громко работает (не надо писать про смазать и про.
Программное управление TableAdapter
Хочу что бы в приложении можно было выполнять так сказать "Динамические запросы" И вот откопал в.
Raznica mezhdu etim variantom i variantom, predlozhennym Штурмaнoм, odna: v etom variante soxranyaetsya Selection, a v tom menyaetsya. Vybirayte, chto nuzhno vam.
Большое спасибо «Штурмaн» и «VladConn» за помощь, а "ArtTs" за участие.
Поскольку в моём случае сохранять Selection нет необходимости, я выбрал вариант:
Application.GoTo Reference:=Worksheets(1).Range("A1"), Scroll:=True
Альтернатива аналогична по результату, но немного больше кода:
Программное управление курсором
Доброго, задался написать что то типа программки , но такое я не делал ни разу плюс не знаю многих.
Программное управление TChart
Здравствуйте! Подскажите, пожалуйста, как программно изменять толщину линий динамически создаваемых.
Программное управление градиентом
добрый день. Подскажите, почему градиент срабатывает в рамках всей сцены, а не рисуемого квадрата? .
Программное движение мышки в окне игры Rust!
Создаю программу, которая будет при нажатии на левую копку мыши программно опускать курсор в низ.
Программное управление Tab Control
Ребята, кто-нибудь может подсказать каким образом можно осуществить смену вкладок не нажатием мыши.
Программное управление внешним приложением
Здравствуйте! Стоит задача программно управлять внешним приложением стороннего производителя.
Прокрутит окно документа таким образом, чтобы содержимое указанной прямоугольной области отображалось в верхнем или нижнем правом углу окна документа или области (в зависимости от значения аргумента Начните).
Синтаксис
выражения. ScrollIntoView (слева, сверху, ширина, высота, начало)
выражение Переменная, представляюная объект Window .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Left | Обязательный | Long | Горизонтальное положение прямоугольника (в точках ) от левого края окна документа или области. |
Top | Обязательный | Long | Вертикальное положение прямоугольника (в точках) в верхней части окна документа или области. |
Width | Обязательный | Long | Ширина прямоугольника в точках. |
Height | Обязательный | Long | Высота прямоугольника в точках. |
Start | Необязательный | Variant | Верно , что верхний левый угол прямоугольника появится в верхнем левом углу окна или области документа. False , чтобы нижний правый угол прямоугольника появился в нижнем правом углу окна или области документа. Значение по умолчанию — True. |
Примечания
Аргумент " Начните" полезен для ориентирования отображения экрана, если прямоугольник больше окна или области документов.
Пример
В этом примере определяется прямоугольник размером 100 на 200 пикселей в окне активного документа, на 20 пикселей от верхней части окна и 50 пикселей от левого края окна. Затем в примере документ прокручивается вверх и влево, чтобы верхний левый угол прямоугольника выравнивался с верхним левом углу окна.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Синтаксис метода Scroll состоит из следующих частей:
Part | Описание |
---|---|
object | Обязательно. Допустимое имя объекта. |
ActionX | Необязательный элемент. Определяет действие для горизонтального направления. |
ActionY | Необязательный элемент. Определяет действие для вертикального направления. |
Settings
Параметры ActionX и ActionY :
Константа | Значение | Описание |
---|---|---|
fmScrollActionNoChange | 0 | Прокрутка в указанном направлении отсутствует. |
fmScrollActionLineUp | 1 | Перемещение вверх по вертикальной полосе прокрутки или влево по горизонтальной полосе прокрутки. Перемещение эквивалентно нажатию клавиш стрелок вверх или влево для перемещения по полосе прокрутки. |
fmScrollActionLineDown | 2 | Перемещение вниз по вертикальной полосе прокрутки или вправо по горизонтальной полосе прокрутки. Перемещение эквивалентно нажатию клавиш стрелок вправо или вниз для перемещения по полосе прокрутки. |
fmScrollActionPageUp | 3 | Переместите одну страницу на вертикальную полосу прокрутки или одну страницу на горизонтальной панели прокрутки. Перемещение эквивалентно нажатию на клавиатуре клавиши PAGE UP для перемещения по полосе прокрутки. |
fmScrollActionPageDown | 4 | Переместите одну страницу вниз на вертикальную полосу прокрутки или одну страницу прямо на горизонтальной панели прокрутки. Перемещение эквивалентно нажатию на клавиатуре клавиши PAGE DOWN для перемещения по полосе прокрутки. |
fmScrollActionBegin | 5 | Перемещение в верхний конец вертикальной полосы прокрутки или в левый конец горизонтальной полосы прокрутки. |
fmScrollActionEnd | 6 | Перемещение в нижний конец вертикальной полосы прокрутки или в правый конец горизонтальной полосы прокрутки. |
Примечания
Метод Scroll применяет столбцы прокрутки, которые отображаются на форме, кадре или странице , которая больше области дисплея. Этот метод не применяется к отдельной панели прокрутки или к столбику прокрутки, которые отображаются в TextBox.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
UserForm.ScrollBar – это элемент управления пользовательской формы, представляющий из себя полосу прокрутки с кнопками, реагирующий как на перемещение ползунка, так и на нажатие кнопок.
Элемент управления ScrollBar предназначен в VBA Excel для ввода пользователем числовых данных, которые ограничены минимальным и максимальным значениями. Увеличение или уменьшение значения полосы прокрутки осуществляется с указанным шагом при помощи ползунка или кнопок.
Визуально, элемент управления ScrollBar состоит из полосы прокрутки и двух кнопок, работающих аналогично кнопкам элемента управления SpinButton. Ориентация может быть горизонтальной или вертикальной в зависимости от настроек.
Полоса прокрутки в VBA Excel используется в паре с элементом управления TextBox или Label. Вспомогательный элемент необходим, чтобы отобразить текущее значение ScrollBar на пользовательской форме.
Свойства элемента ScrollBar
Свойство | Описание |
---|---|
BackColor | Цветовое оформление элемента управления. |
Delay* | Время между последовательными событиями при удержании кнопки. |
ControlTipText | Текст всплывающей подсказки при наведении курсора на полосу прокрутки. |
Enabled | Возможность взаимодействия пользователя с элементом управления. True – взаимодействие включено, False – отключено (цвет стрелок становится серым). |
Height | Высота элемента управления. |
Left | Расстояние от левого края внутренней границы пользовательской формы до левого края элемента управления. |
Max | Максимальное значение свойства Value. |
Min | Минимальное значение свойства Value. |
Orientation** | Задает горизонтальную или вертикальную ориентацию элемента управления ScrollBar. |
SmallChange | Шаг изменения значения свойства Value. |
TabIndex | Определяет позицию элемента управления в очереди на получение фокуса при табуляции, вызываемой нажатием клавиш «Tab», «Enter». Отсчет начинается с 0. |
Top | Расстояние от верхнего края внутренней границы пользовательской формы до верхнего края элемента управления. |
Visible | Видимость элемента ScrollBar. True – элемент отображается на пользовательской форме, False – скрыт. |
Width | Ширина элемента управления. |
* По умолчанию свойство Delay равно 50 миллисекундам. Это означает, что первое событие (SpinUp, SpinDown, Change) происходит через 250 миллисекунд после нажатия кнопки, а каждое последующее событие – через каждые 50 миллисекунд (и так до отпускания кнопки).
** По умолчанию включена автоматическая ориентация, которая зависит от соотношения между шириной и высотой элемента управления. Если ширина больше высоты – ориентация горизонтальная, если высота больше ширины – ориентация вертикальная.
В таблице перечислены только основные, часто используемые свойства полосы прокрутки. Все доступные свойства отображены в окне Properties элемента управления ScrollBar.
Метод Show объекта Range предназначен для прокручивания активного рабочего листа до перемещения первой ячейки заданного диапазона, находящейся вне видимого экрана, в область видимого экрана.
Если заданная ячейка (первая ячейка заданного диапазона) уже находится в пределах видимого экрана, прокрутка не произойдет.
Синтаксис метода Range.Show
Expression – выражение (переменная), представляющее объект Range.
На сайте разработчика сказано, что диапазон должен состоять из одной ячейки на активном листе. Тесты показывают, что можно указать диапазон из более, чем одной ячейки, и, в этом случае, по центу экрана будет размещена первая ячейка заданного диапазона.
Примеры
Пример 1
Отображение первой ячейки диапазона по центру экрана:
Результат выполнения кода:
Пример 2
Отображение центральной ячейки диапазона по центру экрана после вычисления ее координат:
Если вы запускали код первого примера, попробуйте запустить код второго примера, не прокручивая перед этим рабочий лист. Вы убедитесь, что положение зеленого диапазона на видимом экране не изменится.
После этого вручную прокрутите рабочий лист так, чтобы зеленый диапазон скрылся из вида (должна быть скрыта ячейка Cells(r, c) ). Причем прокрутку сделайте как по строкам, так и по столбцам. После запуска кода из второго примера зеленый диапазон займет центральное положение на видимом экране:
Если скрыть зеленый диапазон прокруткой листа только по строкам или только по столбцам, положение непрокрученных столбцов (или строк) останется на экране прежним. Чтобы увидеть это наглядно, запустите код первого примера, прокрутите рабочий лист вручную только по строкам и запустите код второго примера. Затем повторите тест с прокруткой рабочего листа только по столбцам.
Читайте также: