Excel VBA質問箱 IV

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

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


64748 / 76732 ←次へ | 前へ→

【16563】ユーザーフォームでのイベントとカーソル移動について
質問  おっちゃん  - 04/8/2(月) 18:12 -

引用なし
パスワード
   ユーザーフォームのカーソル移動で質問です。
(過去ログも検索しましたが、うまくヒットしなかったので)

下のようなユーザーフォームがあります。

電話番号
+------+
|   |
+------+

氏名      住所1         住所2
+----------+ +--------------------+ +--------------------+
|     | |          | |          |
+----------+ +--------------------+ +--------------------+

品番   品名     数量   単価   金額
+-----+ +----------+ +-----+ +-----+ +-----+
|   | |     | |   | |   | |   |
+-----+ +----------+ +-----+ +-----+ +-----+

電話番号をキーとして、”得意先情報”シートを検索してヒットしたら氏名、住所1,2を表示して品番にカーソルを移動する。ヒットしなかったらカーソルを氏名に移動するようにしたいのです。
ちなみに電話番号、氏名、住所などはテキストボックスです。
タブオートは、電話番号、氏名、住所1、2、品番の順です。
電話番号のテキストボックスのイベントで、Changeを使いましたが1文字入力するとすぐにイベントが発生してしまい、電話番号チェックに行ってしまいます。仮に1文字の電話番号を登録しておくと検索が成功し、住所が表示されカーソルは品番に移動します。検索が失敗したときは氏名へカーソルが移動します。こちらの意図した通りの動きですが1文字入力しただけでChangeイベントが発生するのは困ります。
ということでExitイベントに変えてみました。
今度は複数文字が入力できるのですが、検索成功後の品番.SetFocusでまたExitイベントが発生してしまい、電話番号チェックを2回通ります。
(なぜExitイベントが起きるかわかるような気もしますが)
その上に検索が成功したとのカーソルが住所2になってしまいます。妙な動きです。

こういう処理をしたいときには、どのようなイベントと処理を行うのが良いのでしょうか?

よろしくお願いします。
1 hits

【16563】ユーザーフォームでのイベントとカーソル移動について おっちゃん 04/8/2(月) 18:12 質問
【16566】Re:ユーザーフォームでのイベントとカーソ... IROC 04/8/2(月) 19:34 回答
【16571】Re:ユーザーフォームでのイベントとカーソ... ichinose 04/8/2(月) 21:56 回答
【16592】Re:ユーザーフォームでのイベントとカーソ... おっちゃん 04/8/3(火) 13:45 お礼
【16598】Re:ユーザーフォームでのイベントとカーソ... ichinose 04/8/3(火) 16:40 発言

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