| 
    
     |  | ▼ぴかる さん: こんにちは。
 
 >日付以外を入力すればエラー処理となるのですが、
 >今の状態ではTextBox1をクリックしないと再入力出来ません。
 
 原因は
 >エラー処理:
 >  MsgBox "きちんと日付入力してネ(^^)", vbInformation, "【 ダメだよ 】"
 
 MsgBoxを表示しているからですね。
 MsgBoxを表示すると、MsgBoxから戻ってきたとき、Focusがどこかへ吹っ飛んで
 しまいます。
 MsgBoxの行をコメントアウトして確かめてください。
 
 対策は(自分的には ^^)
 
 音で知らせるだけにする (Beep) とか、
 
 UserForm内MsgBoxを自作する
 具体的には
 普段は非表示のラベル(あらかじめ Captionに
 "きちんと日付入力してネ(^^)" と書き入れておいた )をTextBoxの上に
 表示し、ラベルがClickされたら、非表示にし、TextBoxに SetFocusする
 とか
 同じように、MsgBox風の[OK]ボタンと[Cancel]ボタンを配置した 非表示Frame
 を作っておいて、エラーのとき、TextBoxの上にこれを表示する
 
 などで、対応しています。
 
 でも、TextBoxのKeyDownイベントで [Enter]キーの押下を監視するって、
 どうなんでしょ?
 Exitイベントなどでチェックできませんかね?
 
 
 |  |