Назначение макросу сочетания клавиш

Рубрика: 7. Полезняшки Excel

Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.

Задача: вы записали макрос, но его запуск через меню занимает несколько дополнительных кликов. Нельзя ли этот процесс как-то ускорить?

В Excel каждому макросу может быть назначена комбинация клавиш быстрого вызова. В предыдущей заметке рассказывалось, как создать личную книгу макросов. Тогда мы не обратили внимание на определение макросу сочетания клавиш, оставив это поле пустым (рис. 1). Никогда не поздно вернуться назад. Код VBA (в комментариях в верхней части макроса) хранит сочетание клавиш, которое запускает этот макрос (если мы определили это сочетание в момент записи). Однако, изменения в комментариях макроса не влияют на фактическое сочетание клавиш, требуемое для запуска макроса.

Рис. 2. Диалоговое окно Запись макроса

Рис. 1. Сочетание клавиш для запуска макроса не определено

Скачать заметку в формате Word или pdf

Решение: чтобы добавить/изменить сочетание клавиш, откройте окно Макрос (рис. 2). Для этого:

  • Пройдите по меню ВИД –> Макросы –> Макросы, или
  • Пройдите по меню РАЗРАБОТЧИК –> Макросы, или
  • Нажмите Alt+F8

Рис. 2. Окно управления макросами

Рис. 2. Окно управления макросами

Выберите макрос и щелкните Параметры. Добавьте сочетание клавиш (рис. 3).

Примечание. Сочетание клавиш Ctrl+m будет работать, если выбрана английская раскладка клавиатуры.

Рис. 3. Окно Параметры макроса позволяет назначить макросу сочетание клавиш

Рис. 3. Окно Параметры макроса позволяет назначить макросу сочетание клавиш

Дополнительные сведения: вы можете назначить сочетание клавиш макросу лишь временно. Возможно, вы хотите включить сочетание клавиш на время выполнения каких-то операций, и выключить его при дальнейшей работе. Следующая строка кода временно присваивает процедуре MoveDown клавиатурное сокращение Ctrl+m:

Application.OnKey Key:= "^m", Procedure:="MoveDown"

Чтобы выйти из этого определения и вернуться к стандартному определению сочетаний клавиш Ctrl+m используйте строку:

Application.OnKey Key:="^m"

Чтобы окончательно изменить клавишу быстрого доступа с помощью кода, используйте строку:

Application.MacroOptions Macro:="MoveDown", ShortcutKey:="m"

Дополнительные сведения: Excel сохраняет горячую клавишу в коде модуля, но она не видна в редакторе Visual Basic. Чтобы визуализировать клавиатурное сокращение можно экспортировать модуль из VBA. Для этого:

  1. Перейдите в редактор VBA.
  2. Кликните правой кнопкой мыши на модуле в окне проекта (VBA Project) и выберите опцию Export File.
  3. Сохраните файл в место, где вы сможете его найти. Excel предлагает имя, например, Module1.bas. Вы можете согласиться с ним.
  4. Откройте *.bas-файл в Блокноте.
  5. В каждом модуле содержится строка (строки) с атрибутами, начинающаяся со слова Attribute (рис. 4). Назначенное сочетание клавиш можно определить по фрагменту записи \n14. Так, на рис. 4 запись "m\n14" означает, что макросу назначено сочетание клавиш Ctrl+m.

Рис. 4. Экспортированный код VBA; файл открыт в Блокноте

Рис. 4. Экспортированный VBA-код; файл открыт в Блокноте

Резюме: назначение макросу сочетания клавиш может быть выполнено в момент записи макроса или путем изменения свойств ранее записанного макроса.

Источник.


Прокомментировать