- ベストアンサー
イベントが発生しません・・・
Excel VBAでの質問です。 フォーム上にコントロールはTextBox1つしかありません。 商品コードを入力させ、入力値より商品データを検索、編集させようと思います。 コードを入力しエンターキーを押しても、フォーカスの移動場所が無いためかExitイベントが発生しません。 閉じるボタン[×]でフォームを閉じると、Exitイベントは発生するようです。 入力後はフォームは閉じてもかまいませんが、イベントを発生させることはできるでしょうか。 どなたか教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
キーダウンイベントでEnterの押下を拾ってみては? Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 then 'Enterが押されたとき ~商品データの検索処理~ End If End Sub
その他の回答 (1)
- Bickyon
- ベストアンサー率41% (42/101)
回答No.2
あくまで私見ですが、補足への回答です。 私はフォーカス移動は発生しないと思いますので、Key_Down、Key_Up、Key_Press等のイベントで対処するしかないと思っています。 コマンドボタンも配置するほうが、ユーザインターフェースとして自然なのではないでしょうか。
質問者
お礼
アドバイスありがとうございました。まだVB初心者ですのでこれからもご指導お願いいたします。
補足
さっそくやってみました。 うまくゆきました。 ありがとうございます。 今後のために、もうひとつお聞きしたいのですが、フォーム中にコントロールが1つしか存在しないなんてことはあまりないと思いますが、その時はフォーカスは移動しないのですか? もしそうであれば今回のような処理方法で対処するのでしょうか?