Инициирование события при нажатии кнопки TAB в Excel с VBA - PullRequest
1 голос
/ 24 октября 2019

Я пытаюсь настроить проверку в ячейке Excel, чтобы никто не мог оставить ее пустой, нажав кнопку вкладки.

Поэтому, как только пользователь нажимает кнопку вкладки с пустой ячейкой,должно появиться сообщение.

У вас есть какие-либо подсказки для этого?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If iKeyCode = vbKeyTab Then    
    If CancSelEvnt = False Then    
        MsgBox (1)        
    Else 
        If IsEmpty(Cells(Target.Row, 7).Value) = True Then   
            MsgBox ("This cell should not be kept empty.")    
        End If       
    End If    
End If

End Sub

Просто хотите получить сообщение об ошибке, как только пользователь переходит из одной ячейки в другую в той же строке (используяклавиша табуляции)

1 Ответ

2 голосов
/ 24 октября 2019

Запустите эту команду:

Sub EnableTab()
    Application.OnKey "{TAB}", "TabPressed"
End Sub

И при каждом нажатии Tab будет выполняться подпрограмма TabPressed:

Sub TabPressed()
    Debug.Print "MsgBox!"
End Sub

Чтобы отключить ее, запуститеэто:

Sub DisableTab()
    Application.OnKey "{TAB}", ""
End Sub

Если это должно быть в рабочей книге, тогда рассмотрите возможность записи Application.OnKey в событиях рабочей книги:

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