• ベストアンサー

Excel VBAでの質問です。

ユーザーフォームでテキストボックスを用いて値を入力するときに、1桁の数字を入力したら何もしなくてもすぐに次のテキストボックスに移動して値を入力できるようにすることはできるんでしょうか。教えてください。よろしくお願いいたします。

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

  • ベストアンサー
回答No.1

テキストボックスを選択し、プロパティで  AutoTab を True  MaxLength を 1 に設定して下さい。

shinchan_k
質問者

お礼

早速の解答ありがとうございました。 参考にさせて頂きます。

関連するQ&A

  • エクセルVBAで困ってます。

    ユーザーフォームのテキストボックスで入力制限をしたいのですが、制限は桁とかではなく特定の数字です。そこでテキストボックスに入力後チェックをかけるコーディングをしてるつもりなのですがフォーカスが次のテキストボックスへ遷移してしまいます。フォーカスを自分自身へ戻せないものでしょうか。大変困っています宜しくお願いします。

  • エクセルVBAの質問

    エクセル2000で住所録を作りながらVBAを学習している初心者です。現在次の3点について壁につきあたり、入門書を調べてみたのですが、解決できません。 (1)ユーザーフォーム内のテキストボックスに入力する   時日本語入力のON、OFFをテキストボックス別   に自動的に切り替えるようにしたいのですが、プロ   パティウィンドウかどこかで指定できるのでしょう   か? (2)同様に、テキストボックスに表示させた値を勝手に   変更されないようにする設定は可能でしょうか? (3)あるユーザフォームの変数に入力した値を別のユー   ザフォームやプロシージャで同じ変数名で引き出し   たい場合、変数の宣言をDimはなくPublicにすればよ   いのでしょうか?それとも別の方法があるのでしょ   うか? いっぺんに質問して申し訳有りませんが、どれか1つでも結構です。どなたかご指導願えないでしょうか。

  • EXCELのVBAについて

    エクセルのVBAでユーザーフォームに作ったテキストボックスに入力した値を、コマンドボタンによる「実行」とともに別に作った標準モジュールの変数として代入するにはどうすれば良いでしょうか? 具体的な流れは、 マクロ実行  ↓ ユーザーフォーム出現  ↓ テキストボックスに数字を代入→「実行」  ↓ 変数を代入された標準モジュールによる処理完了 というものです。 ご教授お待ちしております。

  • エクセルVBAについて

    エクセルシートのデータ入力でユーザーフォームを作成してみました。テキストボックスを複数用意してそれぞれに顧客名であったり商品名、数量などを入力するものです。 そこで質問がございます。 現在の設定ではリターンキーを押すと「次行」コマンドが有効になり、次行のセルがアクティブになります。なのでマウスでテキストボックスをクリックしないとそれぞれの情報を入力できません。 顧客名から始まり、次に商品名、数量etc.とユーザーフォーム内でリターンキーで移動させる方法はあるのでしょうか。教えてくださいまし。

  • EXCEL2000 VBAにおいてユーザフォーム上での入力チェック

    ユーザフォーム上のテキストボックスに数字のみ入力するように制御したいのですが、英字が入力された場合、エラーメッセージを出した後、フォーカスをそのテキストボックスに戻したいのですが、うまくいかず、次のところにフォーカス移動してしまいます。どのようにすればいいか、ご教示願います。

  • 【エクセルVBA】 タブでのカーソル移動の質問です

    ユーザーフォームを設置して、テキストボックスを複数設置し、入力援助するVBAを組んでいます。 タブインデックスのとおりに、タブもしくはエンターキーで、通常はカーソルがテキストボックス間を移動しますが、ほんのたまにですが、エンターキーで移動ができず、またタブキーではテキストボックス内にタブができてしまい、次のテキストボックスに移動しない現象が現れます。 そうした場合はマウスで次のボックスにカーソルを移動しますが非常に面倒です。またこの現象はファイルを再起動したら直ったり直らなかったり、ウインドウズを再起動しても直らなかったりで困っています。 どうしてこのようなカーソル移動の不具合が起こるのか、またはどうしたら無くなるのでしょう?

  • エクセル VBA 

    エクセルのユーザーフォームのチェックボックスについて 教えて下さい。 現在チェックボックスが15個あるのですが 例えばテキストボックスが2個あり テキストボックス1に数字の2 テキストボックス2に数字の6 を入れ、コマンドボタンを押すと チェックボックスの2から6にまとめてチェックが入るようなコードが組みたいです。 宜しくお願いします。

  • エクセルで、任意のテキストボックス等にフォーカスを移したい

    すいません、またまた質問です。 エクセルXPで、ユーザーフォーム上に 複数のテキストボックスやリストボックスを 置いて入力した値が任意のシートのセルに 入力されるというものを作っています。 (しかしながらVBAがほとんど見様見真似レベル なのでかなり悪戦苦闘(~_~*)) そこで、ユーザーフォームにて例えばTEXTBOX1に 入力後、Enterで次のテキストボックス(又は リストボックス)にフォーカスを移したいのですが、 その時に任意のテキストボックス等にフォーカスを 移すことは可能でしょうか。 番号順(なのかな?)に自動でフォーカスを 移動させることはできたのですが、任意の対象へ 移動させるやり方とかってあるのでしょうか。 例えばTEXTBOX1からRISTBOX5へ移すとか。 入力する順番に移動できたらユーザーフォーム上での 入力作業が非常に楽になると思って(^o^;) どうぞよろしくお願いします。

  • エクセルVBA テキストボックスへのセットフォーカスについて

    エクセルVBAでユーザーフォーム内に配置されたテキストボックス への数値の入力時に、指定範囲内になければメッセージボックスで 規格外であることを警告し、その規格外が入力されたテキストボックス を強制的に空欄にし、次のテキストボックスにフォーカスを移動させずに、入力間違いのテキストボックスにフォーカスを戻したいのですが どうすればよいのでしょうか? 自分で考えた構文です。 Private Sub TextBox1_AfterUpdate() Dim A As Single A = TextBox1.Text If A < 1.99 Or A > 3.00 Then MsgBox "規格外!!"     TextBox1.Text = "" TextBox1.SetFoucus End If Exit Sub End Sub これですと、次のテキストボックスにフォーカスが移動してしまいます。 次のテキストボックスにフォーカスを移動させずに、規格内の値が 入力されるまでフォーカスを移動させない方法を教えて下さい。 お願い致します。

  • vbaについて

    ユーザーフォームで作ったテキストボックス1とテキストボックス2があります。 テキストボックス1、テキストボックス2にはそれぞれブログラムが書かれています。 テキストボックス1にキーボードから数字を入力してからテキストボックス2にキーボードから 数字を入力します。 本当はテキストボックス1を入力して、テキストボックス2を入力した後、エンターを押して二つのプログラムを同時に動かしたいのですがどうすればいいでしょうか? テキストボックス2のエンターイベントも試しましたが、全然ダメでした。 分かりにくい文章で申し訳ありませんが、教えて下さい。 よろしくお願いします。

専門家に質問してみよう