• 締切済み

Excel2007 フォームコントロールのコンボボ

コンボボックスと関数について教えてください。 A1セルに【野菜】を入力した場合 B1セルに配置したコンボボックスには【野菜】の一覧 (野菜の一覧はコンボボックスに出るようにすでに編集済みです。) A1セルに【くだもの】を入力した場合 B1セルのコンボボックスには【くだもの】の一覧が出るようにしたいのですが、 コンボボックスの書式設定では関数を入力できませんよね? 入力規則なら、上記の設定ができるのですが、 入力規則のリストでは入力がしにくい(初心者にはクリックしにくい)ので できればコンボボックスのほうが活用しやすいのですが・・。 何か方法があるのでしょうか? 分かりにくい文章で申し訳ありませんが、宜しく願い致します。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

数式タブにある「名前の定義」を利用します。 簡単な手順: 野菜の一覧を実際に記入したセル範囲(Sheet2のA1:A5)に「野菜」という名前を定義します 果物の一覧を記入したSheet2のB1:B7に「果物」という名前を定義します 更に「名前の定義▼」で  名前 選択  参照範囲 =INDIRECT(Sheet1!$A$1) と設定します フォームコントロールの書式設定で,入力範囲に 選択 と記入し設定します。 シート1のA1に,野菜や果物と記入します。 #実際にやってみると,入力規則の方が確実に使いやすいと思います。  特にA1の野菜や果物を切り替えた時の動作が問題になりそうです。  またご質問はA1と隣のB1に置いたコンボボックスという前提で書かれていますが,フォームなどのコントロールを使う方法は入力規則と違い,「B列の上から下まで縦一列に一斉に設定する」といった使い方はできません。  とはいえ,まずは試してみてください。 #もっと手を入れるなら,マクロを駆使して問題点を手当てしていくようなことも,やれば出来ます。  そこまでのご質問内容では無いので詳細は割愛しますが,どうしても問題が解決できない(入力規則は絶対にツカエナイ理由があるなら,という前提付きですが)ので,ご自分でも勉強が必要ですがマクロまで手を出したいという状況でしたら,詳しいお話を添えて別途ご質問を投稿してみてください。

pink_black
質問者

お礼

出来ました! ありがとうございます。 EXcelって奥が深いですよね。 こんな風に回答をつけてもらうと。 出来ないことはないんじゃないか?って思ってしまいます。 ホントに助かりました。 ありがとうございました。

関連するQ&A

  • コンボボックスのコントロール

    コンボボックスの書式設定について教えていただけますか? コンボボックスのコントロールの《リンクするセル》を簡単に変更する方法はありますか? コンボボックスを30コ作りたいのですが、コンボボックスをコピーすると 《リンクするセル》も同じものがコピーされてしまいます。 関数のように順番にセル番号が変化しません。 これをひとつづつ手入力をするのが大変なので こーすると早いよ! などの方法があったら教えていただけませんか? よろしくお願い致します。

  • ACCESSでフォームの明細で他の値を参照させたい

    ACCESS2010でフォームで明細行のコンボボックスを、他のテキストボックスの値を使って 行単位で動的に変更したいのですが、どのようにしたらよろしいのでしょうか 例えば、 1行目のAのコンボボックスで「果物」を選択したら、Bのコンボボックスは「リンゴ・みかん・イチゴ」を表示させたい 2行目のAのコンボボックスで「野菜」を選択したら、Bのコンボボックスは「きゅうり・きゃべつ」を表示したい もちろん、テーブルに下記のように保存されています 【分類】|【名称】 野菜|きゅうり 野菜|きゃべつ 果物|りんご 果物|みかん 果物|イチゴ

  • エクセル、コンボボックス/フォームのとコントロールツールボックスの

    エクセル2000です。 今まではワークシートにフォームのコンボボックスを貼って使ってきました。 でも色を変えたり出来ないので、今度はコントロールツールボックスからコンボボックスを貼ってみました。 質問ですが、コンボボックスに表示させるリストを設定するのに、これまでのフォームのコンボボックスだと書式設定で入力範囲をカーソルをあてて一度に簡単に指定できたのですが、コントロールツールボックスのコンボボックスだとそれが出来ません。VBEditorのプロパティのところのListFillRangeの右側にいちいち手でSheet1!A1:A5のように打ち込まなければならないようです。これではけっこう手間がかかってしまいます。 わたしのやりかたが間違っているのでしょうか?

  • エクセルで2段階コンボボックスを作成

    エクセルのシート上にコンボボックスを2つ作成して Aのコンボボックスの内容を選択するとBのコンボボックスの値が変わるというものを作成したいです。 エクセルのプルダウンで最初は考えていましたが、プルダウンだと三角の矢印が常に表示されない為あきらめました。 なのでコンボボックスの作成の仕方を教えて下さい。 例として野菜とくだものをあげます コンボボックスAで選択するもの→ 野菜、くだもの コンボボックスBで選択するもの→  【野菜の場合】キャベツ、にんじん、トマト 【くだものの場合」バナナ、りんご、みかん 以上です。よろしくお願いいたします。

  • Excel関数

    Excel2010を使用しています。 A2セル(A列は入力規則<5つのリスト>を使用)に、「リンゴ」・「バナナ」・「なし」と入力されたら B2セルを網掛けにしたいのですが、 どのように条件書式を設定すればよいのか教えて頂きたくお願い致します。

  • EXCELの条件式について

    入力規則によってコンボボックス化しているセルが2つあります。(仮にセルA,セルBとします) そのセルで選択できる数字の範囲は0~9までで、 Aのセルで1以上を選択した場合、Bのセルでは入力不可にするというようなものを作りたいと考えているのですが、全く思いつかず作業がとまってしまっています。どなたかお力をお貸しいただけないでしょうか。 ちなみにですが、IF関数を使ってBセルに=IF(A1>=1,"",0)と記述することで、表示自体はされなくなるんですが、Bセルにもコンボボックスがついているので、Bセルをクリックすると数字が選択できてしまいます。 これを全く表示させずに、なおかつ入力も禁止したいのです。 入力規則やアウトライン辺りでできそうな気もしますが思いつきませんw できればマクロを使わない方法がいいですが、手段はなんでもいいです。 宜しくお願いします。 環境は以下の通りです。 OS:Windows2000 Office:Office2000(Excel2000)

  • Excel:関数と入力規則

    セル[A2]に入力規則>設定タブ>入力値の種類で「ユーザー設定」、数式に「=LENB(A2)<=16」 と設定しています。 この設定によりこのセルには全角8文字もしくは半角16文字を超えての入力を禁止させています。 その隣のセル[B2]にはセル[A2]の入力値がそのまま自動表示されるように「=A2」とし、かつ入力規則>設定タブ>入力値の種類で「ユーザー設定」、数式に「=LENB(A2)<=12」 と設定しています。 この設定によりこのセルには全角6文字もしくは半角12文字を超えての入力を禁止させています。 例えば、セル[A2]への入力文字が全角6文字以内であれば問題ないのですが、8文字になった場合、セル[B2]の入力規則が無視され、8文字で表示されてしまうのです。 これは仕方がないのでしょうか? ちなみにセル[B2]の関数を無視して直接セル[B2]に入力するのは入力規則が正常に反応し、全角7文字以上は入力できません。 何か良い方法があれば御教示願います。

  • EXCEL関数について

    EXCEL関数について EXCEL2003を使用しております。 お知恵を拝借願います。 「りんご」、「いちご」、「なし」は「グループ1」 「バナナ」、「メロン」は「グループ2」というように、 果物を20個のグループに分けます。 それぞれのグループの果物は、1個から10数個まで様々です。 Sheet2、A列、A2~A100セルに果物名、 Sheet2、B列、B2~B100セルにグループ番号(1~20)がランダムに入力されています。 ここで、Sheet1のA2セルに「りんご」と入力すると、 Sheet1のB2セルにグループ番号「1」が返せるような関数はありますでしょうか? 「VLOOKUP」で試してみたのですが、数字ではなく果物名から検索したいのと、 数字が重複しているので使えないことに気付きました・・・。 何卒ご教示頂きたく宜しくお願い致します。

  • セル結合のコンボボックスの選択方法

    エクセル2003を使用しています。 2シートのブックを使用しており、 シート1:売上一覧(コンボボックスでシート2から品名を選択) シート2:品名と価格の表       A1     B1  品名 いちご    50円      ばなな   100円        ・     ・ となっています。 シート1のコンボボックスで いちごを選択したら、 いちごの隣のセルに価格を自動入力させたいと思っています。 シート1のコンボボックスは、20個あり、 コンボボックス1は、A1A2B1B2セルを結合して 結合セル一杯にコンボボックスを1つ作成しています。 どのようにしたらいいでしょうか? VLOOKUP関数を教えていただきましたが、 よろしくお願いいたします。

  • 入力規則とVBA

    セルに入力規則を設定して、「A,B,C」を選べるとします。 Aを選んだとき、Bを選んだとき、Cを選んだときの処理をVBAで記述しているのですが、 「A,B,C」の値はは変わることがあるので、入力規則の一番目を選んだとき、二番目を選んだとき、三番目を選んだときのように出来ないでしょうか? VBのコンボボックスのように使いたいです。

専門家に質問してみよう