Excel VBA как мне сделать так, чтобы клавиша Enter вела себя как клавиша Tab - PullRequest
0 голосов
/ 03 мая 2011

Я бы хотел, чтобы клавиша ввода работала так же, как клавиша табуляции при использовании таблицы для ввода значений.Я не уверен, достаточно ли информации для вас, чтобы помочь мне, поэтому просто задавайте вопросы, если это не так.

Мне удалось найти параметр в меню Инструменты> Параметры> Изменить перемещение после ввода - вправо.Мне нужна та же функциональность, но только для одного конкретного листа.

1 Ответ

5 голосов
/ 03 мая 2011

используйте свойство Application.MoveAfterReturnDirection - лучше всего установить в Workbook_Open().

, например

Application.MoveAfterReturn = True  ' here we say thou shallst move
Application.MoveAfterReturnDirection = xlToRight  ' here we say move right

Надеюсь, это поможет Удачи MikeD

редактирование:

если в одном приложении открыто более 1 книги, лучше использовать триггеры «Активировать и деактивировать рабочую книгу» и «Лист», чтобы ограничить эффект до минимально возможного значения

изменить 2:

Вы можете сохранить исходное состояние в триггере в модуле ThisWorkbook

Dim OldDirection As Long

Private Sub Workbook_Open()
    OldDirection = Application.MoveAfterReturnDirection
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.MoveAfterReturnDirection = OldDirection
End Sub

и полагайтесь на Sheet_Activate и Sheet_Deactivate, чтобы фактически установить свойство на xlToRight и сбросить его на OldDirection (так, что бы пользователь не выбрал в качестве стандартного поведения). Тестирование с несколькими открытыми рабочими книгами, переход вперед и назад; эти триггеры не всегда делают очевидное в очевидное время ....

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