ハマっている「お菓子」を教えて!

すいません、またまた質問です。

エクセルXPで、ユーザーフォーム上に
複数のテキストボックスやリストボックスを
置いて入力した値が任意のシートのセルに
入力されるというものを作っています。
(しかしながらVBAがほとんど見様見真似レベル
なのでかなり悪戦苦闘(~_~*))

そこで、ユーザーフォームにて例えばTEXTBOX1に
入力後、Enterで次のテキストボックス(又は
リストボックス)にフォーカスを移したいのですが、
その時に任意のテキストボックス等にフォーカスを
移すことは可能でしょうか。

番号順(なのかな?)に自動でフォーカスを
移動させることはできたのですが、任意の対象へ
移動させるやり方とかってあるのでしょうか。

例えばTEXTBOX1からRISTBOX5へ移すとか。

入力する順番に移動できたらユーザーフォーム上での
入力作業が非常に楽になると思って(^o^;)

どうぞよろしくお願いします。

A 回答 (3件)

#2 tommy-pie83 さんのご回答で良いとおもいますが、


その作業は面倒なので、

VBE でフォームオブジェクトを表示した状態で、
[表示]-[タブオーダー]

で調整です。ちなみに、フォーカスを取得させない
コントロールなら、「TabStop」プロパティーを
False にします。
    • good
    • 2
この回答へのお礼

KenKen_SP様

ありがとうございます。

こんなに簡単で便利な方法があるとは(^_^;)

まさしく探し求めていた答えです。

本当にありがとうございました。

お礼日時:2006/06/28 09:04

あまり詳しくないのですが…



私が作ったマクロでのユーザフォームのテキストボックスのフォーカスの移動には
それぞれのテキストボックスのプロパティを開いて
TabIndexに数字を入れています。

フォーム上の テキストボックス等は 作った順に番号が自動で振られているようですので(最初は0から)それを書き換えれば自分の好きな順番に出来ると思います。
    • good
    • 0
この回答へのお礼

tommy-pie83様

どうもありがとうございます。

なるほど、プロパティのTabIndexを
書き換えればいいのですね。

もっと勉強しないと…

とにもかくにも迅速な回答、感謝です。

お礼日時:2006/06/28 09:07

イベントとして何を使うかは選択肢がいろいろありますが、例えばTEXTBOX1に値が入力されたら、TEXTBOX5にフォーカスを移すのであれば、



Private Sub TextBox1_Change()
処理
TextBox5.SetFocus
End Sub

になると思います
    • good
    • 3
この回答へのお礼

zap35様

どうもありがとうございます。

昨日質問してすぐに回答をもらえて
ものすごく感謝です。

VBAって本当にいろんなことが
できるのですね。

教えて頂いた書き方、覚えておきます。

お礼日時:2006/06/28 08:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報