Сочетание клавиш для вызова процедуры (макроса). Назначение горячих клавиш для вызова процедуры (макроса) вручную и с помощью кода VBA Excel.
Ручное назначение сочетания клавиш
Назначение горячих клавиш для вызова процедуры (макроса) вручную:
- Перейдите на вкладку «Разработчик» и нажмите кнопку «Макросы» (вторая кнопка на ленте слева) или сочетание клавиш «Alt+F8».
- В открывшемся окне «Макрос» выберите нужную процедуру и нажмите кнопку «Параметры».
- В окне «Параметры макроса» задайте сочетание клавиш, вписав нужную букву в соответствующее поле и нажав кнопку «OK».
Программное назначение горячих клавиш
За программное назначение горячих клавиш для запуска процедур (макросов) в VBA Excel отвечает метод Application.OnKey.
Обычно первой клавишей в сочетании клавиш является Shift, Ctrl или Alt, которые обозначаются следующими символами: Shift — +
(плюс), Ctrl — ^
(крышка), Alt — %
(процент).
Буквенные клавиши в коде назначения горячих клавиш обозначаются соответствующими буквами в фигурных скобках: клавиша a — {a}, клавиша b — {b}, клавиша c — {c} и т.д.
Пример назначения сочетания клавиш Ctrl+Shift+k
процедуре Module10.Test
:
1 2 3 |
Sub Primer1() Application.OnKey "^+{k}", "Module10.Test" End Sub |
После выполнения кода процедуры Primer1
процедура Module10.Test
начнет запускаться нажатием сочетания клавиш Ctrl+Shift+k
.
Если необходимо назначить сочетание клавиш какой-либо процедуре при открытии книги, используйте событие Workbook_Open
:
1 2 3 |
Private Sub Workbook_Open() Application.OnKey "^+{k}", "Module10.Test" End Sub |
Размещается данный код в модуле книги.
Если в течение рабочего дня необходимо отменить назначенное сочетание горячих клавиш, запустите процедуру с методом Application.OnKey без указания имени процедуры:
1 2 3 |
Sub Primer2() Application.OnKey "^+{k}" End Sub |
Если у заданного сочетания клавиш было какое-либо действие по умолчанию, оно будет восстановлено.
Как добавить сочетания клавиш для быстрого доступа к элементам управления пользовательской формы смотрите в статье VBA Excel. Сочетания клавиш для кнопок.