- ベストアンサー
リストボックス型の選択メニューの作り方
教えてください。 エクセルでコントロールボックスを開いて、リストボックス内の内容を選択できる物を作りたいのですが・・・お願いします。 例えば、リストボックスに「選択する↓」の「↓」を押すと下の方に 「1・2・3・4・5」と出てきて、選択出来る様な物です。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
補足しておきます。 > ...▼で選択出来る様なボックスを作りたんです。 これは、「コンボボックス」コントロールと呼びます。作り方は次の3種類 あります。 1. [表示]-[ツールバー]-[フォーム]から VBA の知識は特に必要なく設定が簡単です。表示されたツールバーから コンボボックスのアイコンをクリックし、シート上でドラッグして書き 込みます。次に、右クリック、[コントロールの書式設定]を開き、 [コントロール]タブで設定して下さい。 ・[入力範囲] --- 表示したいリストがあるセルを指定します。例)A1:A3 ・[リンクするセル] --- 選択の結果を反映させるセルを指定します。 -->反映されるのはテキストではなく、インデックスです。上から 何番目のリストが選択されているか、、ですね。 簡単な代わりに、フォントを変えるなどの細かなカスタマイズができま せん。また、VBA ではイベント処理もできません。 2. [データ]-[入力規則]から [入力値の種類]を[リスト]にします。[元の値]にカンマ区切りでリスト を設定(例:1,2,3,4,5)するか、リストがあるセル範囲を指定します。 (例:A1:A10) この入力規則を設定したセルにカーソルがあるときのみ、「▼」が表示 されます。 3. [表示]-[ツールバー]-[コントロール ツールボックス]から これは、もともと VBA コントロールです。1. との違いについては、やや こしいのですが、主に VBA でイベント処理など細かな制御をしたいときに 用いると理解して良いと思います。詳細はヘルプや WEB 検索して下さい。 既にご回答があり、補足的な話ですね。1. か 2. の方法が良いと思います。
その他の回答 (4)
- KenKen_SP
- ベストアンサー率62% (785/1258)
こんにちは。 それは、恐らく会員登録などの WEB ページでよくある都道府県の入力コンボ ボックスをコピーして Excel に貼り付けたものでしょう。 デザインモードで選択すれば、数式バーに次のように表示されてませんか? =EMBED("Forms.HTML:Select.1","") これは、もともと WEB ページを作成する際に使われる HTML のコントロール であって、Excel で使われることは想定されていないと思います。 ざっとプロパティーやメソッドを調べてみましたが、LinkCell も使えないし、 選択された値も取得できなさそうです。 また、ご質問の「フォント」について変更も変更できなさそうですね。 -->Font プロパティーがありません。 Excel のフォームやコントロールで作り直した方が速いでしょう。
お礼
ありがとうございます。
- imogasi
- ベストアンサー率27% (4737/17069)
#2です。補足いただいても、まだ良くわかりません。 (1)#1のご回答の、入力規則のコンボですか それにまだ答えてませんね。 (2)入力規則で無いなら、「コントロールボックス」の「コンボ ボックス」かもしれない。▼が出るのは、コンボボックスで、リストボックスは(見た目の形式を折りたたみにはできないと思うので)▼が出ないと思う。コンボは2-3種初めの見かけの種類があったように思う(ShowDropdownWhen)。 >DisplayValues「東京;札幌;仙台」 これが出るソフトは判りません。 プロが作ったものですか。エクセルのシート上のことですか。 WEBページでもちろんコンボボックスを使う方法は、比較的易しく 用意されてます。 >文字サイズの変更が分かりませんでした。 これが質問のメイン事項ですか。 リストの文字フォントを大きくしたいという質問はあります。 当初質問からは、うかがい知れない事項ですね。 リストボックス、コンボボックスにはFontという項目がありサイズ・種類が指定できます。 >VBAの知識は全く無いです。 コントロール(リストボックスなど)の部品を使いこなすには、 VBAの知識が無いと、自作で使いこなしは、難しいと思います。
- imogasi
- ベストアンサー率27% (4737/17069)
>コントロールボックスを開いて そこまで判っているなら、その後、何を聞きたいのかはっきり質問には描いてください。 エクセルでは、セルの値を使おうとします。 リストボックスの項目も、VBではプログラムの中に組みこんがり、外部ファイルから読み込んでセットも考えられますが、エクセルは セル(範囲)に用意します。 J1:J3に用意します。 J1:j3 東京 札幌 仙台 (1)エクセルシートを開いて、コントロールボックスのツールバーのリストボックスをクリック。 シート状で+になった状態で、右下方向にマウスで擦ります。 (2)そのリストボックスの中で、右クリックして出る、「プロパティ」をクリクする。 出てくるプロパティボックスのListFillRangeの右列にJ1:J3(今回の例)を入れます。 (3)もうひとつ、本番で、クリックした項目を設定するセルを プロパティの項目の中のLinkedCellの右列にA1(例)と入れます。 これではいつもA1セルに、選択した値がナイルだけです。 実質的には、使える場合が限られる。 指定したところへ値をセットするには、VBAの知識が要ります。 そこまで考えているのでしょうか。VBAは略。 ーーー まあ質問の書き振りからして、入力規則の「リスト」で、列の指定セルの全てで、ドロップダウンリストを出し選択したいのかも知れないと思いますが、それなら「コントロールボックスを開いて」の質問語句が邪魔だし。 >選択する↓」の「↓」・・は▼ボタンのこと?
補足
質問の仕方が下手で本当にすいません。 VBAの知識は全く無いです。専門用語もあまり知りません。 そうです。▼で選択出来る様なボックスを作りたんです。 ボックスの「▼」をクリックすると・・・ 東京 ▼ 札幌 仙台 いろいろやってみたのですが・・・ 他の人が作ったボックスのプロパティを見ると ・オブジェクト名「HTMLSelect」 ・DisplayValues「東京;札幌;仙台」 となっていたので、そこを編集しましたが文字サイズの変更が 分かりませんでした。 これはリストボックスとは違うのでしょうか? 私の知識レベルでは無理なのでしょうか?
- shikisaito
- ベストアンサー率52% (257/491)
[データ]-[入力規則]-[設定]で、 [入力値の種類]から「リスト」を選択して、 [データ]に「1,2,3,4,5」を入力では、 ダメなのでしょうか。
お礼
親切に、ありがとうございました。分かりやすく出来ました。