У меня есть лист, который выглядит следующим образом
![Excel product card template](https://i.stack.imgur.com/YTmD7.png)
Требуется пройти по всем столбцам, используя только клавишу ввода.
Пока, когда выбор доходит до A3: A12, над которым располагается ActiveX Image, после того, как пользователь выбирает изображение, я вызываю ActiveSheet.Cells(3, 2).Select
, который выбирает ячейку B3: D3.
Теперь, когда я нажимаю Enter, я ожидаю приземлиться на B4, но он переходит на A13.
Я также попытался ActiveSheet.Cells(4, 2).Select
и Enter после этого возвращается к A3: A12 с изображением вверху.
Есть какой-то шаблон, который мне не хватает, или это просто превосходство, с которым трудно иметь дело?
Я также пытался Application.OnKey "~", "ChangeCell"
в надежде, что смогу вообще изменить поведение Enter, но я получаю
Невозможно запустить макрос «путь / к / моему / файлу»! Изменить макрос может не
доступно в этой книге
каждый раз, когда я нажимаю Enter. (Да, я включил Trust access to the VBA project object model
.)
Есть ли способ сделать это?
Редактировать: вот соответствующая часть кода. (Я впервые в VBA)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
address = Target.address(RowAbsolute:=False, ColumnAbsolute:=False)
If address = "A3:A12" Then
ChangeImage
ActiveSheet.Cells(4, 2).Select
End If
End Sub
Private Sub Worksheet_Activate()
Application.OnKey "~", "ChangeCell"
End Sub
Sub ChangeCell()
MsgBox ("Ay")
End Sub