![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_09.png?e8efa67)
テキストボックスで、2バイト入力されたらTABで次のテキストボックス
に移動すると言うイベントを4つのテキストボックスのKeyUpイベント
に記述しました。
サンプルとして一つ書きます。
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
If Len(Text1.Text) = 2 Then
SendKeys "{TAB}"
KeyCode = 0
End If
End Sub
上記のソースでプログラムを実行し、Text1に2バイト入力されると、
次のテキストボックス(Text2)に移動します。
更にText2,Text3に、2バイト入力しますと、カーソルがText4に来ます。
ここで、マウスでText1にカーソルを持っていき、値を変更すると、
Text2に移動するはずが、Text4にカーソルが移動します。
なぜでしょうか??
くだらない質問ですが、よろしくお願いします。
No.5
- 回答日時:
#2です。
処理としてTab移動を使わなければならないのでしょうか?
もし、カーソルを移動させればよいというのであれば、
「SetFocus」を使ったらダメですか?
If Len(Text1.Text) = 2 Then
Text2.SetForcus
End If
という感じで。
現状ではちょっと私にはわかりかねます・・・
すいません。
もしかしたら、テキストボックスが複数ありますけど、
コントロール配列にしてませんか?
サンプルをコピーして試しにやってみましたけど、
私のほうではちゃんと次のテキストボックスに
移動します。
どうも原因は一度入力した値を変更すると、それ以降の
テキストボックスのKeyUpイベントが発生するため
教えていただいた方法でも同じ現象が発生すると
思われます。
何でKeyDownイベントは良くて、KeyUpイベントは
駄目なんでしょうね?なぞです・・・
No.4
- 回答日時:
#1です。
たびたびすいません。
タブオーダーの順番が間違ってるんじゃないですか?
No.3
- 回答日時:
#1です。
とりあえずイベントプロシージャのどこかにmsgboxでもかましてみて、
何回イベント処理が発生しているか確認してみては。
msgboxをかまし、一度入力したテキストボックスを変更
すると、全てのテキストボックスのKeyUpイベントが発生
して次から次へとTABでカーソルが移動してしまう事が
判明しました。
で、なぜ??何ですけど、これをKeyDownイベントにして
「If Len(Text1.Text) = 2 Then」の部分を
「If Len(Text1.Text) = 1 Then 」としてみた所、
こちらでは上手く動作します。
なので、これでとりあえず希望どおりに出来たので、良し
という所です。
色々お手数をおかけしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access の SetFocus について教えてください 5 2022/08/04 07:32
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ユーザーフォームで銀行に対応した支店コードの入力ができません Sheet1のA列に銀行名、B列に銀行 5 2022/07/28 17:50
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Excel(エクセル) EXCEL マクロで行を挿入して貼り付けようとするとエラーになる。 2 2022/05/24 09:43
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) フレーム内のオプションボタンの選択結果をセルに書き出したい。 図のような預金種目というフレームにオプ 2 2022/07/29 11:12
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスできない保護レベルエ...
-
VBAで入力数値について
-
エクセルVBAでテキストボッ...
-
ACCESS VBA 文字抽出について ...
-
visual basic初心者です。 visu...
-
VB2005テキストボックスへのコ...
-
VBでの入力値制限について
-
VB.NETでのイベントの途中終了
-
VBAでcallで呼び出したsubを終...
-
C言語のサフィックスについて
-
C#のループでtextboxに値を入れ...
-
vb.net 文字コードから漢字へ変換
-
他のフォームから別のフォーム...
-
レコードセットにnullの場合
-
パーソナルXLSBのfuctionを呼び...
-
タイムアウトする仕組みを作りたい
-
WORd VBA 文章を単語に分解する
-
リストビューの列ヘッダーの幅...
-
構造体のコピー
-
subsequentとnextの違いってな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでテキストボッ...
-
アクセスできない保護レベルエ...
-
VBAで入力数値について
-
【VB.NET】テキストボックスに...
-
VBでの入力値制限について
-
テキストボックスに大文字を
-
visual basic初心者です。 visu...
-
ユーザーフォームへのデータ入...
-
Excel ユーザーフォームで計算 ...
-
コンボボックスからテキストボ...
-
VBAのフォーム カーソル移動
-
テキストボックスを空白にする方法
-
VB2010 TextBoxの数字の表示...
-
【C#】コンボボックスにおけるS...
-
VBでローマ字入力とかな入力を...
-
VB2005テキストボックスへのコ...
-
VBAのユーザーフォームで、テキ...
-
整数かどうかチェックする
-
Xcodeのテキストボックスの値に...
-
VB.NETのテキストボックスで、...
おすすめ情報