Почему клавиша tab иногда не работает при переключении между полями в пользовательской форме?

#excel #excel-2010 #userform #vba

#excel #excel-2010 #пользовательская форма #vba

Вопрос:

Вот как выглядит пользовательская форма. Пользовательская форма

Большую часть времени при нажатии кнопки tab происходит переход к следующему полю, и, конечно, shift tab приводит к переходу к предыдущему полю. Ну, примерно в 50% случаев, когда я открываю файл, клавиша tab ничего не делает и вставляет фактическое пространство табуляции, пока я не закрою его и не открою снова; несмотря на это, все поля работают. Как мне это исправить?

У меня нет на нем никакого кода, связанного с ключами, кроме клавиши escape для закрытия окна и все. Вот изображение свойств поля Номер хранилища. У всех них TabKeyBehavior равно False, поэтому он предотвращает вставку пробелов табуляции.

введите описание изображения здесь

Комментарии:

1. Попробуйте ввести свою Userform_Initialize() строку TextBox1.SetFocus . Тогда вы, по крайней мере, сказали сценарию, на чем сосредоточиться.

2. На самом деле это уже есть.

Ответ №1:

Я знаю, что прихожу на эту вечеринку очень поздно, но мне, по крайней мере, есть что попробовать. Я обнаружил, что у многих людей была эта проблема, и, похоже, никто не знает, в чем дело. Похоже, это какой-то «сбой» в VBA.

Я вернулся в пользовательскую форму и изменил TabKeyBehavior для всех текстовых полей на True, сохранил документ, вернулся и изменил их все обратно на False и снова сохранил. Кажется, это устраняет проблему, какой бы она ни была. Рекомендуется сохранить резервную копию документа на случай, если это произойдет снова.

В основном вариант «выключите его, а затем снова включите». Надеюсь, это поможет.

Ответ №2:

Я выбрал первое текстовое поле (с установленным фокусом), изменил TabKeyBehavior на True, затем False, и затем форма работала так, как предполагалось. Мне не нужно было сохранять электронную таблицу между True и False или переключать «выкл» «вкл» для остальных текстовых полей в форме.