• ベストアンサー

イベントが発生しません・・・

Excel VBAでの質問です。 フォーム上にコントロールはTextBox1つしかありません。 商品コードを入力させ、入力値より商品データを検索、編集させようと思います。 コードを入力しエンターキーを押しても、フォーカスの移動場所が無いためかExitイベントが発生しません。 閉じるボタン[×]でフォームを閉じると、Exitイベントは発生するようです。 入力後はフォームは閉じてもかまいませんが、イベントを発生させることはできるでしょうか。 どなたか教えてください。

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

  • ベストアンサー
  • Bickyon
  • ベストアンサー率41% (42/101)
回答No.1

キーダウンイベントでEnterの押下を拾ってみては? Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 then 'Enterが押されたとき ~商品データの検索処理~ End If End Sub

bird-land
質問者

補足

さっそくやってみました。 うまくゆきました。 ありがとうございます。 今後のために、もうひとつお聞きしたいのですが、フォーム中にコントロールが1つしか存在しないなんてことはあまりないと思いますが、その時はフォーカスは移動しないのですか? もしそうであれば今回のような処理方法で対処するのでしょうか?

その他の回答 (1)

  • Bickyon
  • ベストアンサー率41% (42/101)
回答No.2

あくまで私見ですが、補足への回答です。 私はフォーカス移動は発生しないと思いますので、Key_Down、Key_Up、Key_Press等のイベントで対処するしかないと思っています。 コマンドボタンも配置するほうが、ユーザインターフェースとして自然なのではないでしょうか。

bird-land
質問者

お礼

アドバイスありがとうございました。まだVB初心者ですのでこれからもご指導お願いいたします。

関連するQ&A

専門家に質問してみよう