- ベストアンサー
エクセルVBAについて
エクセルシートのデータ入力でユーザーフォームを作成してみました。テキストボックスを複数用意してそれぞれに顧客名であったり商品名、数量などを入力するものです。 そこで質問がございます。 現在の設定ではリターンキーを押すと「次行」コマンドが有効になり、次行のセルがアクティブになります。なのでマウスでテキストボックスをクリックしないとそれぞれの情報を入力できません。 顧客名から始まり、次に商品名、数量etc.とユーザーフォーム内でリターンキーで移動させる方法はあるのでしょうか。教えてくださいまし。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
各テキストボックスのプロパティに「TabIndex」が、あります。(VBEditerで、プロパティウィンドウが表示してあれば、その中にあるはずです。) この数字の順番にフォーカスが移動しますので、これを調整して下さい。 バージョンによっては、この数値を変えるのが素直に出来ない場合がありますので、お気を付け下さい。
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
通常でしたら、#1 さんの書いたとおりで、TabStop をFalse にしない限りは、TabIndexの順序で、Enterで、フォーカスが移動します。 もう一度、TabIndex の順序とTabStopを見直してみたらいかがですか?
- souta_n
- ベストアンサー率33% (79/234)
ExcelVBAでしたことはありませんが、VisualBasic6のフォームで、プログラムは作ったことがあります。 例えばテキストボックスが3つ項目1、項目2、項目3とあって、項目2でエンター又は下矢印を押すと項目3に、上矢印を押すと項目1に移動させるコードは次の通りです。 Private Sub 項目2_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 13, 40 Me!項目3.SetFocus Case 38 Me!項目1.SetFocus End Select End Sub ちなみに13とか40とかは、キーボードのキー番号です。
お礼
迅速なお返事本当にありがとうございました。 うまくいきました。