- OnKey — мониторинг и реакция на нажатия клавиш VBA
- Видеокурсы по Excel
- Ъпо воде
- Синтаксис OnKey
- Синтаксис
- Отключено/Включено Ctrl+V
- Простой пример
- Сброс клавиши TAB
- Отключить клавиши TAB
- Комбинация клавиш
- Немного необходимой теории
- Таблица ключей вместе с кодом детали
- Больше образцов
- Всего
- Если
- Павел Ласбк — автор сайта
- Комментарии
- VecnyZacetechnik
- Павел Ласбак
OnKey — мониторинг и реакция на нажатия клавиш VBA
Видеокурсы по Excel
В сотрудничестве с SEDUO я создал несколько видеокурсов:
- Как работать с Excel – научитесь эффективно использовать Excel – самый популярный ( рейтинг 97 %, более 13 000 студентов, + 750 положительных отзывов ) – Получить курс
- MaxiCourse Excel – получите лучшую работу, больше денег, станьте незаменимым ( более 6 часов просмотра, 160 уроков ) – Получить курс
- G-таблицы. — если не нравится Excel, воспользуйтесь курсом на Google-таблицах
если нам нужно реагировать и отслеживать нажатия клавиш в коде VBA
Ъпо воде
Если вам нужно фиксировать нажатия клавиш во время работы в VBA и реагировать на эти события. Вам нужно вывести формулу. Или отключить какую-нибудь комбинацию клавиш 🙂 Иногда бывает удобно запретить возможность вставки данных из буфера обмена, поэтому нужно блокировать вставку с помощью Ctrl+V.
Синтаксис OnKey
Запуск необходимой процедуры (круглой) при нажатии определенной клавиши или комбинации клавиш.
Синтаксис
Отключено/Включено Ctrl+V
Ctrl + V
снова включен
Private Sub CommandButton2_Click() ‘восстановление контроля нажатия клавиш (ctrl+v) Application.OnKey «^v» MsgBox «В этом сеансе уже разрешена вставка через буфер обмена !!», vbInformation, «Уведомления» End Sub
Обратите внимание, что вам по-прежнему необходимо обрабатывать вставку правой кнопкой мыши с помощью Worksheet_BeforeRightClick.
Простой пример
Вместо длинной разбивки я предпочитаю пример. Где должен быть размещен в модуле.
Нажатие клавиши Tab отобразит сообщение » Я получил сообщение от Дональда. Вы нажали клавишу TAB 🙂 «
Sub StiskKlavesy() Application.OnKey »
Сброс клавиши TAB
Excel снова ответит на Tab, как это установлено в системе Windows. Он больше не будет печатать приведенный выше текст.
Sub ResetOnKey() Application.OnKey »
Отключить клавиши TAB
Excel не реагирует на нажатие клавиши TAB.
Sub DisableOnKey() Application.OnKey »
Комбинация клавиш
Примечание: Ctrl+S отключить 🙂 Отключить сохранение с помощью сочетания клавиш Ctrl+S.
Примечание. Это все, что вам нужно для работы с клавишами.
Немного необходимой теории
Без теоретической информации не обойтись, поэтому хотя бы самая необходимая база.
Таблица ключей вместе с кодом детали
Клавиша | Где | Примечание |
---|---|---|
ALT | % | проценты |
BACKSPACE | ||
BACKSPACE | ||
BREAK | ||
CAPS ЗАМОК | ||
ОЧИСТИТЬ | ||
CTRL | ^ | курсор |
УДАЛИТЬ | ||
DEL | ||
СТРЕЛКА ВНИЗ | стрелка вниз | |
КОНЕЦ | ||
ВВОД | тильда/тильда | |
ВВОД | Цифровая клавиатура | |
ESC | ||
ESC | ||
F1 до F15 | | |
ПОМОЩЬ | ||
HOME | ||
INS | ||
СТРЕЛКА ВЛЕВО | стрелка влево | |
NUM LOCK | ||
PAGE DOWN | ||
PAGE UP | ||
RETURN | ||
СТРЕЛКА ВПРАВО | Стрелка вправо | |
БЛОКИРОВКА ПРОКРУТКИ | ||
SHIFT | + | плюс |
TAB | ||
СТРЕЛКА ВВЕРХ | стрелка вверх |
Больше образцов
НажмитеSHIFT+CTRL+стрелка вправо
Всего
Мы завершили простое знакомство с OnKey. Дополнительную информацию можно найти в Интернете (в основном на английском языке)
- http://www.cpearson.com/excel/vbashortcutkeys.htm
- http://www.bygsoftware.com/Excel/VBA/onkey.htm
- http://msdn.microsoft.com/en-us/library/aa195807(v=office.11).aspx
Статья обновлена: 19.09.2020 11:07
Если
Помог ли этот веб-сайт сэкономить вам время и деньги? Помог ли он решить проблему? Готовы ли вы предоставить символическое вознаграждение за дальнейшее развитие? Выберите форму вознаграждения, которая вам подходит.
Павел Ласбк — автор сайта
Microsoft Office (Word, Excel, Google Sheets , PowerPoint) Я использую с 2000 года (с 2004 года в этом домене) — В 2017 году я получил престижную награду MVP от Microsoft (пока я единственный из IR в категории Excel). Я также делюсь своими знаниями и опытом онлайн в видеороликах для SEDUO . В компаниях преподаю и консультирую , работаю в МУНИ. Я создаю этот сайт более 15 лет. Существует более 1000 бесплатных инструкций, советов и рекомендаций, включая более 250 различных шаблонов и рабочих книг.
Комментарии
VecnyZacetechnik
Добавлено: 05.09.12 06:35
Интересное свойство. Если я запускаю приведенный выше код, после нажатия данной комбинации клавиш он работает нормально. Однако, если я изменю комбинацию клавиш и использую клавишу F5 для запуска измененного кода, исходная комбинация клавиш, которой больше нет в коде, также работает! Является ли это «свойством» Excel? Кроме функции StickKlavesy(), мне не совсем понятен смысл остальных функций: ResetOnKey и DisableOnKey. Заранее спасибо за пояснение.
Павел Ласбак
Добавлено: 09.05.12 17:29
To: ResetOnKey, DisableOnKey — это ваши функции, которые будут «сбрасывать» установленные вспомогательные клавиши.На ключе. Вы должны запрограммировать эти функции. Если вы этого не сделаете, Excel может вести себя нестандартно, как вы описываете.