Google должен предоставить мне с достаточно примеров, но ни один из них не похоже на работуКак вызвать функцию ВВОД в Excel с помощью VBA
Что я хочу: КАЖДЫЙ пользователь нажимает, а затем отпускает, ВВОД ключ, для моей программы сделать что-то (т. е. создать MsgBox или вызвать функцию Foo). Я предпочел бы это в виде MWE
То, что я сделал: Я попытался это прибегая к помощи, но ни один из примеров не функциональны. Они компилируются, но ничего не делают. Я также сохранил в макро-совместимом формате Excel.
Что я использую: Я использую Excel 2016, 64 бит с Office 365
EDIT: пользователь вводит эту информацию в таблицу. Я хочу перехватить пользовательский ввод, и каждый раз, когда они нажимают ENTER, переместите курсор/активную ячейку на две строки, так что под каждой ячейкой находится пустая ячейка. Если пользователь нажимает на вкладку, я хочу взять курсор/активную ячейку вправо на два столбца, так что есть пустая ячейка справа от каждой ячейки.
EDIT 2: вот MWE того, что у меня есть сейчас, которое должно работать, но которое ничего не делает. Я добавляю это на лист, а не как модуль
Sub SomeActions()
MsgBox ("Hello")
End Sub
Private Sub Workbook_Open()
Application.OnKey "~", "SomeActions"
End Sub
Нажмите «Ввод», где? Рабочий лист? UserForm? Немного больше деталей поможет :) –
Помогает ли это? Http: // StackOverflow.com/questions/11153995/is-there-any-event-that-fire-when-keys-are-press-when-editing-a-cell –
Или [это] (http://stackoverflow.com/questions/21453681/can-i-capture-and-emulate-a-keydown-event-in-excel-vba) ... старый ответ @SiddharthRout. –