| 
    
     |  | ▼おっちゃん さん: こんにちは。
 >>ichinoseさんのKeydownイベント案、こんな使い方なんですね。
 >こちらもとても参考になります。
 昨日は、ねむくなっちゃって・・・、Setfocusメソッドが言う事を聞いてくれる
 KeyDownイベントしか記述しませんでしたが・・・。
 
 実は、おっちゃん さんが なさりたいと思われる仕様はこれだけでは
 不十分なんです。
 KeyDownイベントは、あくまでキーを押したときに発生するイベントです。
 仮に前回のコードでTextbox1に"1"を入力した後にマウスでTextbox6をクリックした場合
 KeyDownイベントは発生しません(おそらくは、これではおっちゃん さんの仕様と違うのでは??)。
 Userformのテキストボックスを使用して一般的なアプリのような動作をさせるのは
 簡単ではないという前置きをして・・・。
 以下のようなコードを試してみて下さい。
 おっちゃん さんの最初の投稿にあるようなユーザーフォーム(Userform1)を考えます。
 テキストボックスは、Textbox1〜Textbox9として
 
 このユーザーフォームのモジュールに
 '=================================================================
 Private t1_ev_flg As Long
 '0: イベントは実行されていない
 '1: Keydownが実行された
 '=================================================================
 Private Sub UserForm_Initialize()
 t1_ev_flg = 0
 End Sub
 '======================================================================
 Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
 Select Case KeyCode
 Case 13, 9 'EnterキーとTabキー
 t1_ev_flg = 1
 With TextBox1
 If 検索(.Text) = True Then '実際にはここを電話番号を検索した結果で分岐する
 TextBox5.SetFocus
 End If
 End With
 Case 40
 KeyCode = 0
 End Select
 End Sub
 '================================================================
 Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
 If t1_ev_flg = 0 Then 'Keydownイベントが発生していない場合
 Call 検索(TextBox1.Text)
 End If
 t1_ev_flg = 0
 End Sub
 '================================================================
 Function 検索(txt) As Boolean
 'ここには、実際は電話番号(Textbox1)での検索処理を記述します
 '結果として、見つかったか、見つからなかったかをTrue、Falseで呼び出し
 '側に返します。
 
 'ここでは、簡単に"1"だったらTrue、それ以外Falseにしました
 'また、"1"のときは、
 ' Textbox2〜Textbox4には、名前や住所の代わりに"aaa"がセットされます
 
 Dim mes As String
 検索 = False
 If txt = "1" Then
 mes = "aaa"
 検索 = True
 Else
 mes = ""
 End If
 For idx = 2 To 4
 Controls("textbox" & idx).Text = mes
 Next
 End Function
 
 上記のようにしておくとTextbox1に"1"が指定されて、マウスで例えば
 Textbox7がクリックされてもTextbox2〜Textbox4に検索した結果が
 表示されるはずです。
 
 
 >どう勉強されたのですか?
 このサイトで回答投稿をする事で勉強しました、いえ、今も勉強中です。
 これは、私個人の考えですが、とにかく、他人のコードをたくさん読むことは
 おすすめです。それをHELPやこういう質問箱を使いながら解読していく。
 それと何でもいいからご自分で仕様をきめてひとつ完成品をつくることですよ。
 
 
 |  |