• ベストアンサー

エクセル コンボボックス 値選択後フォーカス移動

はじめまして。 エクセルのアクティブXのコンボボックスを直接ワークシートに貼り付けて操作していますが、どうしても解決出来ない問題があります。 このコンボボックスで値を選択した後、フォーカスを別のセルに移動すると、一瞬、前の値が表示され、その後直前に選択した値に戻ります。 例えば、A、B、Cというリストがあり、Aを選択し、その後、Bを選択して、フォーカスを別のセルに移動すると、コンボボックスにAが一緒表示されます。でも、すぐにBに変わるのですが、Aのバックグラウンドを赤しているため、かなり、そのチラツキが目立ちます。 どなたか解決方法を教えてください。

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (454/691)
回答No.1

なぜ指摘の瞬きが起きるのかわかりませんが 確かに当方の環境でも起きます。 ちょっと姑息ですが Private Sub ComboBox1_Change()  ActiveCell.Select End Sub といったコードを加え、 >フォーカスを別のセルに移動する という出来事を先んじて起こしておく というのはいかがでしょうか?

Izumigiddins
質問者

お礼

お礼のコメントが消えていたみたいで、見えなかったのでもう一度、ありがとうございました。問題が改善されました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

質問の状況を再現できないのですが、 Sheet1にActiveXのComboBoxを1つ貼り付け。 ComboBox1_Clickのイベントに Private Sub ComboBox1_Click() ActiveCell = ComboBox1.Text ComboBox1.ListIndex = -1 ActiveCell.Offset(1, 0).Select End Sub プロパティに ListFillRangeにD1:D4 D1:D4に各々、値a,b,c,dを入れておく・。 デザインモードを脱して コンボボックスでa-dのどれかをクリックすると、 順次に下方向のセルに、選択したアイテムがセットされて行きました。 チラツキは感じませんでした。

Izumigiddins
質問者

お礼

ご回答ありがとうございました。試してみます。

関連するQ&A

  • エクセルVBA コンボボックスからの選択

    コンボボックスにある選択項目を選択した後、 エクセルの指定されたセルへ選択した項目を 貼り付けたいのですが、どのように指示したら よいのでしょうか? 例えば コンボボックス内の選択項目が A・B・Cとあったとします、その項目の 中からAを選択したら、作業中のsheetの A1のセルへAと表示させるにはどうしたら よいのでしょうか? アドバイスお願い致します。

  • コンボボックスの値が消えてしまいます。

    コンボボックスの値が消えてしまいます。 フォーム(1)にコンボボックスA(値集合ソースはテーブル1)があります、この リスト外入力時で別フォーム(2)(レコード追加用)を開きテーブル1にレコードを追加、 フォーム(2)を閉じる時にコンボボックスAをリクエリかけてフォーム(1)に戻るとコンボボックスAが空になっているのでリストを開き選択し直さなければいけません! フォーム(1)に戻った時コンボボックスAに入力した値を選択させておくにはどの様にすれば良いか アドバイスよろしくお願いいたします。 WIN XP ACCESS 2003で作成しています。

  • エクセルのコンボボックスについて

    シート「データ」に   A  B 1 い  東京 2 ろ  千葉 3 は  埼玉 上記内容が記載されています。 それを別のシートで参照できるようにリストを作って入力規則でコンボボックスを作りました。 しかし、コンボボックスには選択肢がひとつしか表示されません。 「い、ろ、は」だけが表示されています。 でも本当は「東京、千葉、埼玉」をコンボボックスで表示し、セルには「い、ろ、は」のどれかを表示するようにしたいのです。 これをマクロを使わないでできるでしょうか?

  • エクセルのマクロのコンボボックスへ入力した

    エクセルのマクロのコンボボックスへ入力した値をセルに表示する際のことで質問があります。 ABCDEという5つのコンボボックスから、A1、A2、A3,A4、A5のセルへ入力していますが、時々CやDの値がなくてEの値を左詰めするというか空白のセルを作らずに入力したいです。 例えばAのコンボボックスには入力でA1、Bのコンボボックスは未入力でCのコンボボックスに入力した値をA2のセルへ入力といった具合にしたいです。 コンボボックスBが未入力なら、 ・コンボボックスCの値をBへ ・コンボボックスDの値をCへ ・コンボボックスEの値をDへ ・コンボボックスEは空白に コンボボックスCが未入力なら、 ・コンボボックスDの値をCへ ・コンボボックスEの値をDへ ・コンボボックスEは空白に コンボボックスDが未入力なら、 ・コンボボックスEの値をDへ ・コンボボックスEの値を入力 という手順を挿入。 で本来のやりたいことの コンボボックスA~EをセルA1:A5の範囲へ入力。 と教えてもらったんですが、それを生かせず、自分なりに考えてみて IF Then Else を使ってA3まではやれたんですが、A4、A5がうまくできなくて挫折しています。 http://www.max.hi-ho.ne.jp/happy/YNxv233.htmlを参考にしてくださいと教わったのですがどれが使えるのかもわからず・・・・。 わかんないことばかりですいません。

  • Exel VBA コンボボックスで選択した値以外の値をセルに入力する方法

    初めて質問します。 コンボボックスから選択した値によって、 セルに値を入力する方法を教えて下さい。 コンボボックスの値は、1、2、3。 1を選択した時には、A1にA、 2を選択した時には、A2にB、 3を選択した時には、A3にCを入力する。 といったかんじにしたいです。 本やネットなど色々調べてみたのですが、わかりませんでした。 初歩的な質問かもしれませんが、どなたか教えて下さい。 よろしくお願いします。

  • Excelで、コンボボックスで選択したとき特定のマクロを動かす

    1つのシートにコンボボックス(フォームコントロール)を2つ並べてあります。  コンボボックス”ドロップ1”   コンボボックス”ドロップ2”  【選択肢】             【選択肢】  ・1回                ・A  ・2回                ・B  ・3回 とあります。それぞれのコンボボックスの選択肢は、別のシートに名前を定義して表示するようにしてあります。 その際、上の例だとマクロを6種類用意してあります。  (1) 1回A  (2) 1回B  (3) 2回A  (4) 2回B  (5) 3回A  (6) 4回B とあり、1つ目のコンボボックスで「2回」を、2つ目のコンボボックスで「B」を選んだ場合、 (4)のマクロを実行するようにするにはどのようにしたらよいでしょうか? ※ コンボボックスは両方選ばない限りはマクロを実行させません。 また、両方既に選択してあり、そのマクロが一度実行させた後、一方だけ変更しても他のマクロを実行させたいです。 また、本件とは別の内容となっていまいますが、コンボボックスなどが”フォームコントロール”と”ActiveX コントロール”と2種類あるのですが、どのように違うのでしょうか? ちなみにExcelは2007です。ご教授よろしくお願いします。

  • エクセルでコンボボックス内に2列表示をしたい

    オプションでrowsourceに、A3:B10としたばあい、2列表示をしてほしいのです。 しかし、選択して、コンボボックスに表示するときは、A列の分だけでいいのです。 こんなことってできますか? また、コンボで選択したものが、表示されますが、別のものを選択した場合、その後ろにスペースを空けて表示するなんてことはできますか? コンボボックスで選択するものが2つ以上できたらいいと思います。

  • テキストボックスの値をコンボボックスの選択値によって動的に変化させたい(VB.NET)

    こんにちは。 VB.NET2003 を使用し、小さなシステムを開発中です。 例として、コンボボックスにて「社員ID」を選択すると、その隣のテキストボックスには「鈴木 一郎」というように氏名を表示させることを考えております。 そこで、一度表示された後でも、コンボボックスの値を変化させるとそれに応じてテキストボックスの値も変更させたいのですが、どのようにしたらいいのでしょうか。 コンボボックスへの値を入れ、テキストボックスへの表示させるところまではできたのですが、一度表示された後は変化しなくて・・・。 ちなみに、それらの値の取得はDataSetを使用しています。 どなたか方法をご存知の方、教えていただけませんでしょうか。

  • Excelでコンボボックスが沢山必要なときは

    お世話になります。 オラクルからコードと値を取ってきて、エクセルのシート上で表示や 選択をさせたいと思います。(一番左のセル) このときセルにアクティブXのコンボボックスを貼り付けて、表示は できたのですが、データが1000件くらいあるようで、それぞれに 1000個もコンボボックスを貼り付けるのが大変です。 何かよい方法はありませんか。 よろしくお願いします。

  • コンボボックスの貼りつけ excel

    vba初心者です。excel帳簿を作っております。 科目選択時にリストが28個あるプルダウンを使っておりましたが選択するのが大変だったのでコンボボックスにしたら28個全て表示されるようになり選択が楽になりました。 このコンボボックスのLinkedCellはD4です。 コンボボックスをD4の上に表示してD4セルにピッタリはめ込んでいる感じに見えます。 D4以下150個、D列にコンボボックスを貼りつけたいです。 コピーして貼り付けてもLinkedCellはD4のままですので、貼りつけたコンボボックスのプロパティを150回変えないといけないのかと思うと気が遠くなります。 このコンボボックスを何か登録して、「コードの表示」あたりで何かやれば何とかなるのではないかと思ったのですが、何か手立てがあれば教えてください。 このコンボボックスを同じブックの別のシートにも使いたいと思っております。

専門家に質問してみよう