Ключ удаления ловушки - PullRequest
       7

Ключ удаления ловушки

0 голосов
/ 02 ноября 2011

Моя проблема довольно тривиальна: мне нужно применить логику к кнопке удаления в Excel.В связанном вопросе, который я задал, о способах очистки ячеек в сводной таблице , и теперь, понимая, что это может быть неправильный подход, я рассматриваю еще одну альтернативу.К сожалению, по общему признанию, у меня мало опыта работы с Visual Basic, и эта задача оказывается такой проблемой (довольно удивительно).

Можно ли перехватить (как при прослушивании) клавишу удаления в Excel и вызвать подпрограмму в VBA при нажатии?

Буду признателен за любой вклад!Спасибо!

1 Ответ

3 голосов
/ 02 ноября 2011

Да.

Вы используете Application.Onkey для назначения кода клавишам

Если вы (1) добавьте этот код в модуль листа, содержащий вашу сводную таблицу (щелкните правой кнопкой мыши вкладку листа, просмотрите код и вставьте код ниже)

Этот код активирует, а затем деактивирует перехват, когда пользователь входит, затем покидает этот конкретный лист:

Private Sub Worksheet_Activate()
Application.OnKey "{DELETE}", "Intercept"
End Sub

Private Sub Worksheet_Deactivate()
Application.OnKey "{DELETE}"
End Sub

(2) добавить этот код в обычный модуль

Sub Intercept()
MsgBox "user just pressed delete"
End Sub

затем удалить на этом листе будет в ловушке, и пользователь дал сообщение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...