• 締切済み

EXCELテクニックを教えてください。

EXCELのVBA、マクロを使用して管理表を作成しています。 表示→ツールバー→VisualBasicからコンボボックスを使用しているのですが コンボボックスが複数ならんでいるときに、 一つ目の項目を選んだら次のコンボボックスへフォーカスが移るという ソースをくみたいのですが何か良い方法はないでしょうか? コンボボックスに対してセットフォーカスできないでしょうか? おしえてください。 以上です。

みんなの回答

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 No.1の方につけたしですが、 イベントはClickかChangeになります。 Clickはマウスでリストをクリックして選んだ場合、 Changeはコンボのテキスト部分に直接入力した場合なので、 必要な方(もしくは両方)の最後に次のように記述しましょう。 次のコンボ名.SetFocus コンボボックスにはSetFocusメソッドが使えます。 ちなみにフォーカスを移動する先のコントロールのEnabledプロパティがFalseだとフォーカスを当てることは出来ません。 では。

  • michacha
  • ベストアンサー率37% (9/24)
回答No.1

こんにちは. コンボボックスの名前を例えば,com1,com2 とします. com1を押したというイベントプロシージャの中に com2.setforcus (だったと思う...) でできるはずなんですが・・ >コンボボックスに対してセットフォーカスできないでしょうか? とあるので試されたのでしょうか... もし,試されてできなかったのなら,ソースを載せてください.

関連するQ&A

  • Excel VBA コンボボックスについて

    はじめまして、エクセルVBAの超初心者です。 コンボボックスを使ってマクロを組みたいのですが、どうしてで良いか分からず教えていただければと思います。 エクセルのシートに下のようなデータがあるとします A       B りんご     あおもり りんご     ながの みかん     わかやま バナナ     フィリピン コンボボックス1にAセルを重複しないようにセットして コンボボックス2に1で選択されたものをセットしたいのですが。 プロパティのListFillRangeでAの範囲を選択しても、重複してしまい、それからどうして良いのかわかりません。 どなたか教えて頂けませんか?

  • エクセル、フォームでのVBAについて(コンボボックス)

    エクセル97でフォームのコンボボックスを使用する場合の質問です。 ワークシートにコンボボックスを10個配置しました。 入力範囲はすべて同じです。 このコンボボックスで特定の項目(入力範囲6番目)を選んだ場合、次のマクロを実行するようにしようと思っています。マクロを10個書いてそれぞれのコンボボックスに登録してもいいのですが、それよりはどのコンボボックスが使用されたか特定できればすべてのコンボボックスに一つのマクロで対応できます。 コンボボックスに番号(たとえばコンボ1~コンボ10)を振ってその番号の取得ができればいいのですが、どのように記述したらよいのか検討がつきません。 お教えください。

  • Excel VBAでフォーカスを移動しない方法

    Excel VBA リストのソースを設定してあるコンボボックスから次のコンボボックスに移動する際、入力にエラーあれば フォーカスを移動しないようにするコードはどのようにすればいいのですか? 現在は Private Sub [コンボボックス名1]_Exit(ByVal Cancel As MSForms.ReturnBoolean) If [コンボボックス名2] = "" Then MsgBox "値が不正です。", vbInformation, "フォーム名" End If End Sub としています。

  • Excelマクロのコンボボックスについて

    初めてマクロを扱います。 マクロに詳しい方、コードをご教授ください。 Excelマクロを使い下記の機能をシートに盛り込みたいと考えております。 【実現したいこと】 ・シート上にコンボボックスを作成し、コンボボックスで選択した項目で絞り込めるようにする。 ・コンボボックスに格納される項目は、A列の重複を除外し、昇順で並べ替えたもの。 ・またコンボボックスに格納する項目は日々レコード追加されるため、コンボボックスの中身にも随時反映するようにしたい。 ・コンボボックスには「全て表示」というアイテムを追加し、「全て表示」を選択すると、フィルターが解除される。 わかりにくいかもしれませんが上記のことを実現したいと考えております。 どうかお知恵をお貸しください!! よろしくお願いします!!

  • Excelマクロのコンボボックスについて

    マクロを初めて扱います。 どなたか詳しい方、ご教授ください。 Excelのシート上にActiveXのコンボボックスを作成しました。 そのコンボボックスに「あああ」という項目を追加したのですが、「あああ」項目が一番下に追加されてしまいました。 Me.ComboBox1.AddItem "あああ" どのように書けば、コンボボックスの最上部に追加されるのでしょうか? どうかコードの書き方をお教えいただけませんでしょうか?

  • エクセル ツールバーからの呼び出しマクロのシート非表示 

    他部署から受け取った一覧表の内容をチェックするエクセルマクロをツールバーのボタンに割り当てていますが、一覧表を開いておいてボタンを押すとマクロを組み込んだエクセルシート(VBA上でのThisWorkbook.Sheet)が表示されるようになりました。以前は一覧表の裏に隠れていたはずなんですが、目障りなのでこのシートを表示しない方法を教えてください。複数体制なので共有ドライブに置いたエクセルマクロを各自が自分のツールバーに組み込んで使っています。 (アドインでは修正発生時に各自が再度取り込む必要があると思って避けています)

  • EXCELのデータベース

    EXCEL2000を使用しています。 VBAを使ってデータベースを作ろうとしているのですが、ちょっとわからないのでどなたか教えてもらえませんか。 データベースへの入力はUSERFORMを使います。 USERFORMの内容は、 コンボボックス、テキストボックス1,2,3、コマンドボタン”登録”、”終了”です。 まず大項目は"SHEET DB"のA1:A120に入力されており、”発注者”、”請負者”、”病院”・・・・というのがあります。 この項目はUSERFORMのコンボボックスにセットされます。 次にテキストボックスの入力項目が3個あり、 TEXTBOX1 ・・・名前 TEXTBOX2 ・・・電話番号 TEXTBOX1 ・・・FAX を入力します。 発注者のデータベース入力範囲はA2:C100で、次の大項目、請負者のデータベース入力範囲は、D2:F100と言う風に延々と続きます。 USERFORMのコンボボックスで大項目を選択し、テキストボックス1,2,3の入力を入力し、コマンドボタン"登録"を押すと、大項目のデータベース範囲にテキストボックスのデータの空白行にデータが登録されます。 大項目が1個しかない場合は出来るのですが、大項目が複数になった場合の条件の設定がよくわかりません。 大項目の下図は数十個あり、1個1こセルに入力するのは大変で苦労しています。 VBAのプロの方なら初歩的すぎる事かもしれませんが、ビギナーな私にわかりやすくどうかご教示願います。

  • Excelで、コンボボックスが見つかりません。

    http://www2.cty-net.ne.jp/~hidenori/vba/vba30/vba30.html 上記のURLで、コンボボックスを使うというものが あるのですが、URL内のコンボボックスが、 わたしの使用しているエクセル画面からみつかりません。 もしかすると見落としているのかもしれませんが、 同じ様なボタンはいくら探しても見つかりません。 URLと同じ事が出来るボタンを教えてください。 よろしくお願いします。 パソコンは2年前に購入したもので、 WindowsXPです。

  • エクセルVBAの構文を教えてください。

    こんばんは。マクロ初心者です。 VBAの構文を教えてください。 ■シート(1)には項目が50ある5年分(60ヶ月)の市場統計データーがあります。50個ある項目名はB列にありDセル2008年1月からBKセル2012年12月まで横に60ヶ月分のデーターを入力しています。 ■シート(2)には50の項目名のデータがあります。項目名はB列にあります。 ■シート(3)にはコンボボックスを作成し、コンボボックスの下に表を作成しました。 シート(3)のコンボボックスの50ある項目から▼ボタンで項目を選びコマンドボタンを押すと シート(3)の下記のセル範囲でシート(1)のデーターを参照させたいのです。 B8セルからM8セルまで(2008年度12か月分のデータ) B11セルからM11セルまで(2009年度12か月分のデータ) B14セルからM14セルまで(2010年度12か月分のデータ) B17セルからM17セルまで(2011年度12か月分のデータ) B20セルからM20セルまで(2012年度12か月分のデータ) コンボボックスは設定できたのですが、構文がうまくできないため参照できていません。 エクセルVBAに詳しい方、どうぞご教授ください。よろしくお願い致します。

  • コンボボックスのリスト内容表示の仕方

    エクセル マクロ VBA の質問です。ユーザーフォーム(UserForm1)にあるコンボボックス(ComboBox1)にリストを表示したいのですが。 全部という項目と(これはできてます) エクセルのシートA4からA列の空白行までの値を項目として表示したいのですが、いまいちうまくいきません。 教えていただけると助かります。

専門家に質問してみよう