Видимо никак. Как бы проблема вот в чем. Нажатие этих клавиш надо присобачить к какому-то событию. То есть если событие произошло, то макрос запускается, а там уже и можно вклинить и проверку нажатия клавиши (Declare Function GetKeyState& Lib "user32" (ByVal vKey&)). Однако события типа "нажалась такая-то клавиша" для дока да и для макроса нет. А подвязывать к чему-то другому в Вашем случае абсурдно. Можно типа макрос зациклить, и он постоянно будет ждать от вас нажатия кнопки, но тогда вся схема будет слишком тормозной. Как бы не советую.
Хотя можно так наверное. Запустить макрос сочетанием клавиш. И там запустится цикл. Можно даже на GetUserClick подвязать. В F1 найдете пример. Типа клетку выделили дынс макрос и в зависимости в каком углу кликнули такая стрелочка и шлепнулась. Там можно и шифты с контролами учесть. Там скажем с шифтом - по часовой стрелке, без против... Ну там сварьируете под ся. Три кнопки как ни как комбинаций кучу можно наделать. Если запарит макрос запускать, то можете его подвязать на событие SelectionChange. Хотя это уже геморно будет...