こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

EXCEL VBAで・・・。

テキストボックス34に入力した値を、ExcelのA列の値より検索し
その隣の値をテキストボックス4に表示させる、と言う処理をしています。

検索時に検索データが見当たらない場合、メッセージボックスを表示し、
更に、テキストボックス34のデータを消去→テキストボックス34にフォーカス移動
させたいのです。

下記のコードですと、メッセージボックス表示と
テキストボックス34のデータ消去までは出来るのですが
フォーカス移動してくれません。

イベントをexitにしている理由は特にないのですが、changeを使うと、
テキストボックス34に1文字入力された時点でメッセージボックスが表示されたり、
1文字でも一致するデータが順に表示されてしまいます。
(テキストボックス34に入力するデータの文字数は3文字固定です。)

何か良いお知恵がありましたら、お教え下さい。

-----------------------------------------------------------

Private Sub Textbox34_exit(ByVal Cancel As MSForms.ReturnBoolean)

Dim Result As Variant
Set Result = Range("A:A").Find(what:=TextBox34.Text, MatchCase:=True, matchbyte:=True)

If Result Is Nothing Then
MsgBox ("入力されたコードは登録されていません。")
TextBox34.Text = ""
TextBox34.SetFocus
Else
Range("A:A").Find(what:=TextBox34.Text, MatchCase:=True, matchbyte:=True).Activate
ActiveCell.Offset(0, 1).Select
TextBox4.Text = ActiveCell.Value
End If
End Sub

投稿日時 - 2005-10-11 15:52:49

QNo.1706708

暇なときに回答ください

質問者が選んだベストアンサー

>TextBox34.SetFocus
これを
Cancel = True
にしたら?

投稿日時 - 2005-10-11 16:08:04

お礼

1050YENさん!!!!!

ありがとうございます!!!!!

すごくすごく悩んでいたので、とてもとてもうれしいです!!!
本当に助かりました! ありがとうございました!

投稿日時 - 2005-10-11 16:19:17

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問