| 
    
     |  | 皆さん、こんにちは。 
 >結局のところ、自分のやりたいことが、文面では伝わらず
 >不愉快な思いをさせてしまったのなら、すみませんでした。
 これから、VBAでプログラミングをやっていくつもりなら、
 このくらいであきらめないことですよ。
 人に自分の意思を文章で伝えるのは大変ですけどね!!
 
 これモードレスでユーザーフォームを表示させると
 現象が確認できました(Excel2002 SP-3)。
 
 
 ユーザーフォーム(Userform1)に
 テキストボックス(Textbox1) と
 コマンドボタン(Commandbutton1)を
 一つずつ配置してください。
 
 標準モジュールに
 
 '=================================
 Sub main()
 UserForm1.Show vbModeless
 End Sub
 
 
 Userform1のモジュールに
 
 '==========================================================
 Private Sub TextBox1_Change()
 If IsNumeric(TextBox1) = False And TextBox1.Value <> "" Then
 MsgBox "Please input the numerical value."
 TextBox1.Value = ""
 End If
 With TextBox1
 '  .Visible = False
 '  DoEvents
 '  .Visible = True
 .SetFocus
 End With
 
 End Sub
 
 
 上記のコードで数値以外を入力するとエラーメッセージ表示後、
 フォーカスがTextbox1に戻りません!!
 
 Changeイベントのコメントをはずして実行してみてください。
 今度はフォーカスがTextbox1に戻ります。
 
 試してみてください。
 
 |  |