Сочетание клавиш для вызова процедуры (макроса). Назначение горячих клавиш для вызова процедуры (макроса) вручную и с помощью кода 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. Сочетания клавиш для кнопок.