Excel VBA 質問スレッド №2106 (解決済)

テキストボックスでTabを押すとカーソルが移動せずにTabを入力してしまう

投稿者 : 真心眼     投稿日時 : 2025/04/10(Thu) 15:05:41     OS : Windows 11     EXCEL : Excel 2021
タイトル通りなのですが、テキストボックスの TabKeyBehavior は false に設定しています。

毎回ではない(ここが悩みどころ)のですが、たまに上記現象が起こります。

プロパティウインドウでも TabKeyBehavior を false にして、
ユーザーフォームの UserForm_Activate 時にも処理内で UserForm_Activate を false にしています。

VBAのバグでしょうか?

スポンサーリンク
[返信 1] Re : テキストボックスでTabを押すとカーソルが移動せずにTabを入力してしまう
投稿者 : 真心眼     投稿日時 : 2025/04/10(Thu) 16:10:24
■[質問] 真心眼さん(2025-04-10 15:05:41)の記事

すみません。記載ミスがありました。

誤) ユーザーフォームの UserForm_Activate 時にも処理内で UserForm_Activate を false にしています。

正) ユーザーフォームの UserForm_Activate 時にも処理内で TabKeyBehavior を false にしています。

[返信 2] Re : テキストボックスでTabを押すとカーソルが移動せずにTabを入力してしまう
投稿者 : tek     投稿日時 : 2025/04/10(Thu) 16:52:32
よう解りませんが、Watch式をUserForm1.TextBox1.TabKeyBehavior(実際のテキストボックス)
として、すべてのモジュール、すべてのプロシージャにして
式がTrueのとき中断にして様子を見たらどうでしょう?

[返信 3] Re : テキストボックスでTabを押すとカーソルが移動せずにTabを入力してしまう
投稿者 : 多分     投稿日時 : 2025/04/10(Thu) 22:21:35
昔の記憶では・・・
IMEオンになってませんか?
多分そのあたりでは?

[返信 4] Re : テキストボックスでTabを押すとカーソルが移動せずにTabを入力してしまう
投稿者 : 真心眼     投稿日時 : 2025/04/18(Fri) 10:05:30
■[返信 3] 多分さん(2025-04-10 22:21:35)の記事
> 昔の記憶では・・・
> IMEオンになってませんか?
> 多分そのあたりでは?

テキストボックスの設定は fmIMEModeOn のものもあれば fmIMEModeOff のものもあります。

同じ設定のテキストボックスなのに、当該現象が出る場合と出ない場合があり、原因究明に困難しています。

[返信 5] Re : テキストボックスでTabを押すとカーソルが移動せずにTabを入力してしまう
投稿者 : tek     投稿日時 : 2025/04/19(Sat) 18:07:29
タブが入力されたときにTabKeyBehavior が falseになっていることを確認したのでしょうか?
そうで有ればMSの言うところの仕様(真心眼さんの見解ではバグ)でしょうが、
それならそれで、再現性の乏しい原因を究明するより、冗長になると思われますが要件を定義し、使う側で対応させれば良いと思います。

[返信 6] Re : テキストボックスでTabを押すとカーソルが移動せずにTabを入力してしまう
投稿者 : 真心眼     投稿日時 : 2025/04/22(Tue) 17:01:56
みなさま、ご回答ありがとうございます。
まだ解決には至っていないのですが、1つ分かったことがあります。

画面にカレンダーボタンがあり、それを押すと、別途カレンダーのユーザーフォームが表示されます。
そこで日にちをクリックすると、元のユーザーフォームの年月日欄に選択した日にちが入力されます。

Tabが入力になってしまっているときに、カレンダーフォームを表示してから、元のフォームに戻ってくると、
Tabが入力ではなく別項目への移動に治ります。

原因は不明ですが、上記パターンを発見(?)しました。

[返信 7] Re : テキストボックスでTabを押すとカーソルが移動せずにTabを入力してしまう
投稿者 : 真心眼     投稿日時 : 2025/06/30(Mon) 12:06:43
皆様ご意見ありがとうございました。
原因究明には至りませんでしたが、一旦、この質問はクローズさせていただきます。
本当にありがとうございました。

当掲示板について
  • Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
  • 記事内ではHTMLのタグは使用できません。
  • 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
  • Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
  • Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
お 名 前  :
内  容   :

ステータス  :

認証コード  : キャプチャ画像 




( 処理日時 : 2025-07-03 11:50:11 )
タイトルとURLをコピーしました