Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4926 / 13646 ツリー ←次へ | 前へ→

【53560】Form上のTextBox入力後のTABでイベント起動させたいんです。 key 08/1/22(火) 19:19 質問[未読]
【53561】Re:Form上のTextBox入力後のTABでイベント... ichinose 08/1/22(火) 20:04 発言[未読]
【53570】Re:Form上のTextBox入力後のTABでイベント... key 08/1/22(火) 22:56 お礼[未読]

【53560】Form上のTextBox入力後のTABでイベント起...
質問  key  - 08/1/22(火) 19:19 -

引用なし
パスワード
   1.form上にいくつかのTextBoxを配置し入力しています。
2.それらのTextBoxにTabキーでフォーカスを移し順次入力します。
現在、上記の仕様でTabが押された時に入力桁数などを自動で判断させています。
↓のような感じです。
--------------------------------------------------------------------------
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

If KeyCode = vbKeytab Then
 '英字であるか?桁数はあっているか?の処理  
End If

End Sub
----------------------------------------------------------------------
ただ、今のままですと大げさな話TextBoxが100個あった時はオブジェクト名
だけ変えて同じプログラムを100個書かないとならないですよね・・・
UserFormのKeyDownイベントを使用してみましたが
UserForm上にフォーカスがないからか反応してくれませんでした。
なんとか簡略化や別の方法で同じ機能を実現できないでしょうか?
よろしくおねがいします。

【53561】Re:Form上のTextBox入力後のTABでイベン...
発言  ichinose  - 08/1/22(火) 20:04 -

引用なし
パスワード
   ▼key さん:
こんばんは。
Tabキーのみが移動可能なキーという仕様は結構面倒ですけどね
(勿論、やれば出来ますが)

それはともかく

>ただ、今のままですと大げさな話TextBoxが100個あった時はオブジェクト名
>だけ変えて同じプログラムを100個書かないとならないですよね・・・

これは、クラスモジュールを使います。
このサイトの過去ログをクラスモジュールで検索してみてください。

いくつも例題が引っかかりますよ!!

【53570】Re:Form上のTextBox入力後のTABでイベン...
お礼  key  - 08/1/22(火) 22:56 -

引用なし
パスワード
   回答ありがとうございます!
題名のような検索では単一でイベントを使う雛形しかでませんでしたが
クラスモジュールで検索したら求めてたものが出てきました。

クラスの追加など初めてで慣れるまで難しそうですが
配列感覚でオブジェクトが使えそうですね。
明日会社で色々試行してみます。

4926 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free