• ベストアンサー

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

エクセルのコンボボックスを2つ設け、一方の選択の内容で、他方の選択内容を変更したいと考えます。エクセルで簡単にできる方法はないでしょうか?  8月31日の質問(No34606)の回答でVBAの利用が記載されていましたが、私はVBAは分かりませ。他に方法がないでしょうか?

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

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

VBAを使わず操作だけでは難しいと思う。ただ初心者に毛の生えた程度の私の知識から言っている事で、直後に良い解答が載るかもしれない。 (難しいところ) Sheetにコンボボックス(コントロール)を貼りつけする やり方は判りますね。そのうちの1つの方において、小さい8個の四角が四隅と辺中間に出ている状態で、その中で、右マウスクリックしてください。 プロパティウインドウが出て、アルファベット順で「L」の ところにある、ListFillRangeの行の右列にA2:A6と入れてください。営業所名のつもりです。またA1:A6に下記 データを入れてください。 営業所名(見だし。なくても良い) 東京 大阪 名古屋 福岡 静岡 もっと増やす時はA2:A20とかなります。そしてA2セル からA20まで営業所名を入れてください。行に並べることも 可能でしょう。 これでコンボボックス2の下▼をクリックすると、東京から 静岡までリストが出て、どれかクリックした福岡とかが、上の ボックスにセットされます。 さて各営業所の管轄商圏をC列からG列までに下記の通り入れます。 C   D   E F G  東京 大阪 名古屋 福岡 静岡 中央区 大阪市 岐阜市 福岡市 浜松市 千代田区堺市 豊橋市 北九州市三島市 三鷹市 東大阪市 久留米市静岡市 武蔵野市寝屋川市 長崎市 熊本市 さてコンボボックス1のListFillRangeに、コンボボックス2 で福岡を選んだ時はF1:F6、静岡を選んだ時はG1:G4をセットしたいのですが、自動・連動でこれを左右してListFillRangeにセット方法がそもそも、予期されていないと思います。 (2)これを突破するVBA. VBAですが、たった中身は3行ですので、鵜呑みするか 勉強するなら、下記の方法で出来ます。これもあれこれやって見て、到達したプログラムで、たまたま上手く行ったわけです。 Private Sub ComboBox2_Change() a = ComboBox2.ListIndex b = Array("c2:c5", "d2:d5", "e2:e3", "f2:f6", "g2:g4") ComboBox1.ListFillRange = b(a) End Sub ComboBox2.ListIndexはコンボ2の上から何番目をクリックしたかを調べている。数値は1行目は0ですが。 b = Array(・・・)は何をしているか判りますよね。 ListFillRangeの表を定義しているわけで、Sheetで営業所管轄 地域セルが増減した時、どう変えたら良いかは、自ずと判るでしょう。その次はプログラムでListFillRangeをセットしているわけです。 コンボ2のデザインモードで8つの四角の中でダブルクリック すると、VBE画面でPrivate Sub ComboBox2_Change() EndSub が出るから、そこへ上記プログラム中身部分をコピーし貼りつけ、メニュの実行-Sub/ユーザーフォームの実行をクリックし、シートに戻って、コンボボックス2をクリックする。 コンボ1をクリックすると福岡の分が現われるはず。 そこでクリックした久留米市のような結果をセットするには コンボ1のLinkedCellにB1(セル)など入れておけばB1に 久留米市と出る。 なおデザインモードは三角定規と鉛筆の組み合わさったアイコンをクリックして、へっこんでいる状態です。

eoc
質問者

お礼

これから試すとろです。ご親切にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

>私はVBAは分かりませ。他に方法がないでしょうか? エクセル技道場に、 縦横可変範囲の名前定義でリスト http://www2.odn.ne.jp/excel/waza/name.html#SEC22 があります。 入力規則を2つ使った例が示されています。難易のほどはよく分かりませんが、当然VBAではありません。 質問のようにコンボボックスを使っても可能でしょう。(セル範囲に名前をつけることで) ただ、入力規則で可能だし、わざわざコンボボックスを使ってVBAなしで作ることもないでしょう。 ご参考に。

参考URL:
http://www2.odn.ne.jp/excel/waza/name.html#SEC22
eoc
質問者

お礼

参考URL参照しました。 有り難うございました。 ポイントは回答順番にさせていただきました。あしからず。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

    皆様、こんにちは。 エクセルで幾つかのコンボボックスの値を足算したいですが、やり方がわかりません。 具体的に申し上げますと、 1.0から200まで選べられるコンボボックスを用意しました。 2.これらの選択された値を合計した結果を出したいです。 ご存知の方いらっしゃいましたら、教えて頂きたいです。やはり、VBAを使わなければだめでしょうか。。 どうぞよろしくお願いいたします。

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

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

  • EXCELコンボボックスに表示されません。

    EXCELでユーザーフォームの中にコンボボックスを作りました。日付を選択したいので「11月1日、11月2日・・・」とズラズラ表示されるのですが選択するとコンボボックスに表示されるのは「38670」などの数字が表示されます。ここにちゃんと日付を表示するにはどこを変えたらいいでしょうか? やり始めたばかりの初心者で質問内容が幼稚かもしれませんが、宜しくお願いします。

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

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

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

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

  • コンボボックスが空白になってしまう

    Excelの開発メニューにある、フォーム コントロール→コンボ ボックス (フォーム コントロール)の使い方について質問です。 1つのシートにコンボボックスを10個並べ、「いいえ」「はい」の2択のみで、10問の質問表のようなものを作っています。 初期状態で全ての項目で「いいえ」を表示させておき、回答者にはそのうち当てはまるものだけを「はい」に選択し直して欲しいのですが、初期状態で全てのコンボボックスを「いいえ」にしておく方法がわかりません。 全て「いいえ」にした上でそのExcelファイルを保存しましたが、再度開いた際に、なぜか全てのコンボボックスが空白になってしまいます。▼を押すとまたきちんと選択はできるのですが。 コンボボックス 初期値 と検索すると解決方法らしきものがヒットするのですが、コードを入力するといった内容で全く理解できませんでした。 お恥ずかしながらコードのことは全く分からないので、もう少し簡単に解決方法はありませんでしょうか。

  • Excel コンボボックスに付いて

    VBA初心者です。 コンボボックスに付いて質問です。コンボボックス1・2があったとして、選択する内容がまったく同じな場合。 (コンボボックス1=名前1 2=名前2として) With 名前1 ・additem"鈴木" ・additem"田中"     ↓ End with With 名前2 ・additem"鈴木" ・additem"田中"     ↓ End with といった用にコンボボックスごとに入力せず、一つにまとめて入力する方法を教えて頂けないでしょうか、、、 また例えば『電話1』『電話2』というコンボボックスが『名前1・2』のボックスの次にあった場合、 (コンボボックス3=電話1 4=電話2として) With 電話1 ・additem"090-1・・・・・" ・additem"066-2・・・・・"   ・additem"090-3・・・・・" ・additem"066-4・・・・・"     ↓ End with With 電話2 ・additem"090-1・・・・・" ・additem"066-2・・・・・"   ・additem"090-3・・・・・" ・additem"066-4・・・・・"     ↓ End with 『名前1』で『鈴木』と選んだ場合に『電話1』で何らかの形で予め登録し『鈴木』⇒090-1・・・と090-2・・・と 電話1のボックスで選択出来るようにしたいのです。 『電話2』も同じで『名前2』で選択した名前により電話2のボックスに表示する電話番号を表示させたいのです。 今の場合だと『名前』は追加するたびに他の名前ボックスも追加しないといけない作業が出てきます。 電話に関しては名前より選択されたものに対して選択枠を減らして表示するようにし、選択作業のを軽減できればと考えています。 尚電話も一つにまとめて入力したいです。電話1・2は同じ内容です。 例はあくまで例ですので実際の内容とことなりますが、やろうとしている内容は同じです。 とても初心者な質問で申し訳御座いませんがご教授お願い致します。 例などで教えて頂ければ幸いです。

  • エクセルVBAでコンボボックス

    エクセルVBAのコンボボックスの使い方について質問します。 実現したいプログラムは 「チェックボックスから選んだ数字で計算するプログラム」 です。 具体的には… まず、コンボボックスをシート上に配置します。そのコンボボックスには 数字の1から10を選べるようにしておきます。 次に、コマンドボタンを配置します。これは単にプログラムをスタート させる目的です。 ユーザーは、まずコンボボックスから好きな数字を選択します。 そしてスタートボタン(コマンドボタン)を押します。 すると、選んだ数字の2倍がセルに表示されます。 さらに発展系としては… チェックボックスを4つ配置します。各チェックボックス には、+、-、×、÷を割り振っておきます。 また、コンボボックスを2つ用意し、それぞれ1~10の数字をリストにします。 ユーザーは、チェックボックスから好きな記号を選び、さらにコンボボックスから 好きな数字を選びます。そしてスタートボタンを押すと、選んだ数字を選んだ記号 で計算した値がセルに表示されます。 というようなプログラムを考えているのですが、うまくできません。 ポイントは、 ・チェックボックスにリストを入力する方法 ・チェックボックスの選択状態や、リストボックスから選ばれた数字を、  変数として取得する方法 インターネットで調べているのですが、リストボックスに値を入れるのにもマクロを走らせ なければならない方法とか、ユーザーフォームでの説明ばかりでなかなか実現に至りません。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_userform05.html プログラムのイメージ図としては添付の図の通りです。 どのようにプログラムを書けばいいのでしょうか。

  • エクセルのコンボボックスの内容にリンクをはるには?

    お世話になります。 エクセルにフォームを置いています。 そのフォームにはコンボボックスがあります。 コンボボックスの内容は別シートより読み込んでいます。 コンボボックスである内容が選択されたときに、 その選択内容にリンクを貼り、別シートにあるリンク先へ 飛ぶようにするにはどのような仕組みが必要でしょうか。 よろしくお願いします。

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

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

専門家に質問してみよう