|
▼ぴかる さん:
こんにちは。
>日付以外を入力すればエラー処理となるのですが、
>今の状態では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イベントなどでチェックできませんかね?
|
|