〜更新前処理キャンセル時にテキスト全体を範囲選択するには?〜#617更新前処理キャンセル時にテキスト全体を範囲選択するには?フォーム、VBAテキストボックスのデータの更新時にその内容をチェックし、もし指定条件に反する場合に更新させないようにするには、「BeforeUpdate/更新前処理」イベントプロシージャを利用します。このイベントプロシージャ内で入力データをチェックし、もし更新をキャンセルしたい場合には、イベントプロシージャの引数である「Cancel」に”True”を代入することで、Enterキーなどを押しても次のコントロールにフォーカスが移動しないようにすることができます。その一例が次のようなコードです。ここではテキストボックス「テキスト0」の値が数値かどうかを「IsNumeric」関数でチェックし、数値でないときは警告メッセージを表示し、更新をキャンセルしています。True」でプロシージャを抜けたあと、テキストボックス内のカーソルは末尾など特定の位置にくるようになっています。そのため、1文字ずつ修正する場合はよいのですが、先頭からあらためて再入力したいような場合には、カーソルを移動させるなどのユーザー操作が必要となります。そこで、次のようにプログラムを変更することで、キャンセル時にテキスト全体を範囲選択した状態にすることができます。それによってDELETEキーでまとめて全文字を削除したり、1文字目から再入力することができるようになります(全体が範囲選択された状態で1文字キーインするとそれまでの入力値がクリアされその1文字だけ入力された状態になります)。Subなおここでは、テキストボックスの「SelStart」プロパティに「0」を代入することによってカーソル位置を先頭にしています。「SelLength」プロパティにその入力文字数を指定することによって入力値分の長さ全体を範囲選択するようにしています。|この情報は参考になりましたか?、問題は解決しましたか?、もしまだなら......T'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。