Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


18229 / 76732 ←次へ | 前へ→

【63946】Re:テキストボックスへの入力情報を即座にシートに反映させたい
回答  UO3  - 10/1/2(土) 20:26 -

引用なし
パスワード
   原因はAfterUpdateイベントを使っていることだと思います。
ご自身で発見されたとおり2回目からは、TextBoxAになにがしかの値(エラー時に""とされた値も含めて)が入っていますのでコントロールを抜ける際にこのイベントが発生しますが、最初は【からっぽ】で、そこに何もいれないで、かつ確定もさせないでフォーカスを移動(タブキーや他のボタンのクリック等)すると、そもそもフィールドが【UpDate】されないので、このイベントは発生しないわけです。

これをExitイベントに変えて実行してみてください。これならフォーカスを移動すれば必ず発生しますので。ついでにエラー時、Cancel=trueとすることでフォーカスの移動要請もリセットされますのでフォーカスを元に戻す必要もありません。

ところで、現在のAfterUpdateルーティンでCancel=trueと書いておられますがCancel変数はここで使えません。おそらくoptionでExplicitとしておられないので
エラーには、なっていないんでしょうが。できるだけExplicitとされるよう、推奨します。

それと、多くの方々が言っておられるように、VBAのアプリレベルではNULLは、まず登場しません。IsNullは不要ですね。IsNmericと""で【ない】ことを確認されれば充分でしょうね。
1 hits

【63875】テキストボックスへの入力情報を即座にシートに反映させたい ビギナー 09/12/25(金) 12:10 質問
【63876】Re:テキストボックスへの入力情報を即座に... seg 09/12/25(金) 12:26 発言
【63878】Re:テキストボックスへの入力情報を即座に... ビギナー 09/12/25(金) 13:54 回答
【63882】Re:テキストボックスへの入力情報を即座に... seg 09/12/25(金) 16:48 発言
【63883】Re:テキストボックスへの入力情報を即座に... seg 09/12/25(金) 17:10 発言
【63877】Re:テキストボックスへの入力情報を即座に... Jaka 09/12/25(金) 12:38 発言
【63879】Re:テキストボックスへの入力情報を即座に... ビギナー 09/12/25(金) 14:00 回答
【63892】Re:テキストボックスへの入力情報を即座に... ビギナー 09/12/27(日) 14:30 発言
【63946】Re:テキストボックスへの入力情報を即座に... UO3 10/1/2(土) 20:26 回答
【63947】Re:テキストボックスへの入力情報を即座に... UO3 10/1/2(土) 21:23 発言
【63963】Re:テキストボックスへの入力情報を即座に... seg 10/1/5(火) 11:24 発言
【63964】Re:テキストボックスへの入力情報を即座に... Yuki 10/1/5(火) 14:14 発言
【63973】Re:テキストボックスへの入力情報を即座に... ビギナー 10/1/6(水) 10:52 お礼

18229 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free