• ベストアンサー

エクセルのマクロでフォームを起動したときのフォーカス

はじめまして。 表題の件ですが、 エクセルのマクロでフォームを作成し、 データ入力をしようとしています。 フォームを入力する際 一番最初に 使用するのはテキストボックスなのですが 起動する際 フォーカス位置はボタンで 一回テキストボックスをクリックしないと フォーカスが移動しません。 起動したときにテキストボックスに初期フォーカスを設定する方法を 教えて頂けませんでしょうか。 どうぞよろしくお願い致します。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 ユーザーフォームの目的のテキストボックスのプロパティの中から、TabIndexを「0」にすれば、最初に、フォーカスしますね。

haru0925
質問者

お礼

ありがとうございます。 こんな単純なことだったんですね・・・ とても参考になりました。

関連するQ&A

  • エクセルのフォームでのフォーカス

    エクセルVBAでのユーザーフォームの テキストBOX間のフォーカスはenterで移動可能かのですが、間にComboBoxがあるとComboBoxが飛ばされますが そこにもフォーカス移動って可能でしょうか?

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

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

  • Accessで起動時にフォームが開かれるのですが・・・

    Accessで起動時にフォームが開かれるようになっていて、そこに設置してあるマクロボタンをクリックするとメインフォームが開くようになっています。 このマクロボタンをクリックしメインフォームを開いて、メインフォームに設置してあるテキストボックスに期間を入力してサブフォーム上にその期間内のみのデータが表示されるようにしてあるんですが、どういうわけか、そのテキストボックスにカーソルが移動しない為、入力できない状態になってしまいます。 デザインビューに切り替えた後、再度ビューを切り替えると、カーソルが移動できるようになるのですが、どのようにすれば、カーソルが移動するようになるのでしょうか?? どうぞご回答の程宜しくお願いいたします。

  • タブダイアログのフォーカスの移動について

    タブダイアログを使った場合の フォーカスの移動についての質問です。 状態としましては フォームにタブ数3のタブダイアログがあり、 それぞれのタブに3つテキストボックスがあります。 また、タブダイアログとは別にフォーム上に 閉じるボタンが1つあります。 現在1つ目のタブの1つ目のテキストボックスに フォーカスがあり、Tabキーでフォーカスを 移動させていくのですが、 3つ目のテキストボックスでtabキーを押すと フォーカスがどこに行ったのか 行方不明になってしまいます。 なぜか2つ目と3つ目のタブの 3つ目のテキストからは 閉じるボタンへフォーカスが移動するのですが、 1つ目のテキストだけが行方不明になってしまいます。 (shift+tabで戻ってきません) また、3つ目のタブのキャプションからの フォーカス移動も行方不明となってしまうます。 タブインデックスは タブダイアログボックスが0 1つ目のタブの1つ目のテキストが1 1つ目のタブの2つ目のテキストが2 1つ目のタブの3つ目のテキストが3 2つ目のタブの1つ目のテキストが4        ・        ・ 3つ目のタブの3つ目のテキストが9 閉じるボタンが10 となっています。 タブダイアログのフォーカス移動を制御するには どうしたら良いのでしょうか? また、行方不明になってしまうフォーカスの 現在位置を見つけるようなことはできますでしょうか? よろしく回答のほどお願いします。

  • Windowsアプリケーションのフォームのフォーカスについて

    Windowsアプリケーションのフォームのフォーカスについて Windowsフォームアプリケーションを、C/C++で作成しています。 開発環境:Visual C++ 2008 Express Edition OS:WindowsXP テキストボックスに入力され、 フォーカスアウトした時に入力値の判定し、 偽だった時はボタンを非アクティブにする処理を実装しています。 しかし、タブ移動でのフォーカスアウトは可能なのですが、 フォームにマウスクリックした時にフォーカスが変わりません。 フォームにフォーカスを持たせることはできないのでしょうか? また、何か良い方法があったら教えていただけると幸いです。 宜しくお願いします。

  • エクセル マクロ フォームに転記したい

    (1)エクセルSheet1にボタンをクリックするとフォームを出てくる。(2)そのフォームは、転記する専用のフォーム。(3)転記フォームの中にボタンを作り、新しいフォームが出てくる。(4)コンボボックスに表示した文字を転記フォームのテキストボックスに転記したい。 この様なことは出来ますか? マクロの記述を教えてください。

  • エクセル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 これですと、次のテキストボックスにフォーカスが移動してしまいます。 次のテキストボックスにフォーカスを移動させずに、規格内の値が 入力されるまでフォーカスを移動させない方法を教えて下さい。 お願い致します。

  • EXCEL VBAのユーザーフォームの操作方法について教えていただきたいことがあります

    EXCEL VBAのユーザーフォームの操作方法について教えていただきたいことがあります。 (1)ユーザーフォームにテキストボックスを2つ作る (2)コマンドボタンを1つ作る。 この場合に、コマンドボタンを押すと、セットフォーカスされている方のテキストボックスに「新春」と表示させることはできるのでしょうか。 キーボードは当然セットフォーカスされているテキストボックスに入力されますが それと同じ機能をコマンドボタンにも持たせたいのです。 Private Sub CommandButton1_Click() で TextBox1がセットフォーカスされているならTextBox1に"新春"と入力する TextBox2がセットフォーカスされているならTextBox2に"新春"と入力する というような条件式になるのでしょうか。 色々調べましたが答えが見当たりません。 よろしくお願いいたします。

  • エクセル2003 ユーザーフォームにてフォーカスの有無の判断

    いつも勉強させていただいております。 今回、エクセルのユーザーフォームを用いて、入力画面を作成 しております。 で、日付を入力するテキストボックスが2箇所有り、 その入力をMSフォームカレンダーから入力させようと 考えております。 この日付を入力するテキストボックスは、それぞれ異なる 日を入力させたいのですが、カレンダーをクリック したときに、フォーカスの在る方に入力する形を考えています。 でご質問なのですが、 「フォーカスの在るほうに」 と言う分岐コードの書き方がわかりません。 宜しくお願いいたします。 Private Sub Calendar1_Click() 'if textbox3にフォーカスが在るならば<<書き方がわかりません TextBox3.Value = Calendar1.Value end if 'if textbox4にフォーカスが在るならば<<書き方がわかりません TextBox4.Value = Calendar1.Value end if End Sub こう言う書き方は出来ないものでしょうか?

  • マクロ フォームでのチェックボックスについて

    教えてください。 1)フォームでテキストボックス2つ、ボタンで新しい入力フォーム表示 2)入力フォームでチェックボックス6個、コンボボックス6個を作ります。 3)チェックボックスにチェック(1個のみ)したら、1)のフォームのテキストボックスにチェックされた、項目とコンボボックスで選択された内容が転記したい。 例)果物にチェック、コンボでブドウと選択  テキストボックス→果物 ブドウ というようにフォームに転記させたい。 以前、シートでのマクロを教えていただきましたが、フォームだと頭が混乱してしまいました。 簡単で良いので、マクロの記述を教えてください。

専門家に質問してみよう