• ベストアンサー

コンボボックスの作り方を教えて下さい。

エクセル2000を使用しています。 コンボボックスを使って日付を入力できるようにしたいと 思っておりますが、具体的にどうすればよいのか分かりません。 任意の場所にコンボボックスを作る事は出来ます。 で、2個作成します。ここまでは出来ます。 左側の方には月の1~12、右側の方には日の1~31が出てきて 選択すれば入力す出来るという単純なものなんですが それがどうすればよいのか分かりません。 初心者の私にも分かるように教えて頂けると幸いです。

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

  • ベストアンサー
  • matsu_jun
  • ベストアンサー率55% (146/265)
回答No.2

choroqさん、こんにちわ。No.1のmatsu_junです。お返事が遅くなりました。 数字の大きさを変える方法ですが、No.1で挿入したマクロの一番下の行 End Sub の上に、下で記載した2行を追記します。 'ここから--------------------------------------   Sheets("Sheet1").ComboBox1.Font.Size = 8   Sheets("Sheet1").ComboBox2.Font.Size = 8 'ここまで-------------------------------------- 行末の数字(上の例では「8」)がフォントのサイズです。 お好みで数字を変更してください。 当然ここでも、Sheet1上のComboBox1とComboBox2であるとします。 さて、それとは別に > ファイルを開くとき「マクロが含まれている可能性が・・・」 > と聞いてきますがあれは仕方ないのですよね? とありますが、確かにそのとおりです。 (セキュリティレベルを下げれば表示されなくなりますが) ただComboBoxを利用した場合、そこで選択した値を 何か計算で利用したりする場合にマクロが登場しますので、 今の時点でこの疑問が出てきたということは、 マクロを利用して複雑な処理をするおつもりが無いということでしょうか? であれば、ComboBoxをシート上に貼り付けるよりも、「入力規則」を 利用したほうが便利かと存じます。 1) 月(あるいは日付)を入力したいセルをまず選択します。 2) メニューから、「データ(D)-入力規則(L)」を選択します。 3) 「データの入力規則」ウィンドウの「設定」タブ画面にある   「入力値の種類(A)」という箇所が現在「すべての値」になっているので、   そこを、「リスト」に変更する。 4) すると「元の値(S)」という入力部が現れるので、そこに、月であれば   「1,2,3,4,5,6,7,8,9,10,11,12」と記入します。 5) OKボタンを押して確定してください。 これで、設定したセルをクリックすると1~12までのリストが現れます。 これならフォントの種類もサイズも簡単に変更できますし、 別のセルに数式の形で参照することもできるので便利かと思います。 ただしクリックしないと他のセルと変わったようには見えませんので、 枠で囲むとか、セルに色をつけるなどしたほうがよいようです。

choroq
質問者

お礼

何度も有難うございました。 「入力規則」を用いる方法の方が今回の私のやり方には適したやり方だと思います。 貴重なアドバイス大変勉強になりました。 感謝致します。有難うございました。

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

その他の回答 (1)

  • matsu_jun
  • ベストアンサー率55% (146/265)
回答No.1

choroqさん、こんばんは。 まずはシート上に作ったコンボボックスの名前を確認しましょう。 1) デザインモードへ移行します。Visual Basicツールボタンの「デザインモード」ボタン   (三角定規の書かれたボタン)をクリックします。 2) 月を入れたいコンボボックスを右クリックして、「プロパティ」を選択します。   すると、プロパティウィンドウが表示されます。 3) プロパティウィンドウの"(オブジェクト名)"の右を見てください。「ComboBox(数字)」と   書かれているはずです。それがコンボボックスの名称です。 4) 日付を入れたいコンボボックスについても同様に確認してください。   ここでは説明のため、月のコンボボックスを「ComboBox1」、日付を「ComboBox2」とします。   また、コンボボックスの書かれたシートのシート名を「Sheet1」とします。 ファイルを開いたときにリストが追加されるよう、マクロを記載します。 5) Altキーを押しながらF11キーを押すと、Visual Basic Editorが開きます。 6) エクスプローラ風になっている画面右側の「プロジェクト-VBAProject」欄から   「ThisWorkbook」をダブルクリックしてください。 7) 右側の空欄に、以下をコピーして貼り付けます。 'ここから------------------------------------------------------------ Private Sub Workbook_Open()   For i# = 1 To 12     Sheets("Sheet1").ComboBox1.AddItem i   Next i   For i = 1 To 31     Sheets("Sheet1").ComboBox2.AddItem i   Next i End Sub 'ここまで------------------------------------------------------------ では、成果を確認してみましょう。 8) 一度ファイルを閉じてください。 9) 改めてファイルを開いたとき、2つのコンボボックスにリストが入っているはずです。

choroq
質問者

お礼

大変分かりやすく教えて頂き有難うございました。 おかげでうまくいきました。 ですが、ファイルを開くとき「マクロが含まれている可能性が・・・」と聞いてきますがあれは仕方ないのですよね? あとコンボボックスの中の数字の大きさを変えるにはどうすればよいのでしょうか? 度々申し訳ありません。

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

関連するQ&A

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

    エクセル2000を使用しています。コンボボックスに付いて教えて下さい。 今コンボボックス(ユーザーフォーム使用)を12個一組 計5組 にて簡単な選択データを作っています。 コンボボックスの値はシートより読み出し値を表示させているのですが、この12個のコンボボックス1~12みたいな感じで 簡単に一まとめ出来ないでしょうか? 12個一組は内容は同じです。とりあえず一つ一つのコンボボックスに対してシートを参照するようにしましたが、 もっと簡単に簡略化出来ないものなのでしょうか? ご教示お願い致します。初心者ですので例などで教えて頂ければ幸いです。

  • コンボボックスの文字を大きくしたい

    このサイトの中でコンボボックスの作成方法を知り利用致しました。   (手順)    (1)任意のセルにコンボボックスに反映させたい文字を作成する    (2)メニューバーより     [データ]⇒[入力規則]      [設定]タブより”入力値の種類”を”リスト”にし、       元の値を(1)で作成した文字を選択する ですが、この方法では、コンボボックスで表示される文字が 小さく見づらいものでした。 コンボボックス内で表示される文字の大きさを変更する方法を 教えていただけないでしょうか?

  • アクセスのコンボボックスの作成方法(日付)について

    アクセスのフォーム上で日付を入力するコンボボックスを作成したいのですが、作成方法がわかりません。どなたか詳しい方、教えてください。具体的には、コンボボックスのリストに 今日の日付・昨日の日付・一昨日の日付 がでるようにしたいのです。  例)2007/06/12 2007/06/11 2006/06/10 宜しくお願いします。

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

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

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

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

  • チェックボックス・コンボボックス

     エクセルのチェックボックス・コンボボックスについて教えて下さい。  チェックボックス・コンボボックスを作成しリストから選択すると、リンクするセルには番号が表示されてしまいます。以前は正確にリスト名が表示されていました。  どこか設定のようなものを変えてしまったのでしょうか?初心者なものでよく分かりません。どうかよろしくお願いします。

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

    エクセル2003を使っています。 コンボボックスで日付を選択しクリックすると シリアル値で表示されてしまうのですが、 セルを文字列にする以外に日付で表示させることは可能でしょうか?

  • 【C#】コンボボックスに任意の数字を入力し、それをテキストボックスに表

    【C#】コンボボックスに任意の数字を入力し、それをテキストボックスに表示させる方法 C#初心者です。 コンボボックスの処理につまずいています。 <処理> 1.コンボボックスに任意の数字を入力できるようにしておく。 2.そして、任意の数字を入力する。 3.ボタンを押したら、その入力した数字がテキストボックスに表示される。 1と2はできるのですが、3がよくわかりません。 どなたかご教授いただけると幸いです。 宜しくお願いいたします。

  • コンボボックスからコンボへ

    私はホームページを黙過、勉強中のものです。 いま、ホームページ上に上下の所にコンボボックスを設置し、コンボボックスから選択肢を選ぶと下のコンボボックスが上のコンボボックスの選択肢によって選択する値を変える仕組みを作っています。 ほぼ完成しました。ただ一つだけ問題解決できません。それは選択をしてもらい画面が切り替わった時に入力ミスをしてしまった人は前の画面に戻ります。その時に上と下のコンボボックスのうち下のコンボボックスに入れてもらった値が消えてしまう事です。更に下のコンボボックスを選択しようとすると値が全て消えてしまっているので選択できません。もう一度上のコンボに値を入れ直すとまた下のコンボも値をかえすのですが、それでは入力者にだいぶ手間をかけてしまう事になります。 どうか教えて頂けないでしょうか。 この仕組みはすべてジャバで作りました。 お願します。

  • Accessコンボボックス

    Access2000でコンボボックスで日付を選択できるように したいとおもっています。 リストは、予め1999年~2010年をセットするなどして 月・日についてもコンボボックスを作成しています。 規定値ではformat(year(date()),"0000")などとして 現在日時から年・月・日を取得しています。 コンボボックス選択後、一つのデータとして入れ込んでいます。 次からは前のデータを参照し、コンボボックスは 予めその行が選択されているようにしたいのですが、 うまくいきません。 レコードから年・月・日などを取って コントロールソースに =format( year([tx_date]), "0000" ) ※tx_dateには"2002/12/18"という形で入っています。 を入力すると、コンボボックスを選択することが できません。 上記のような状況を打開する策をお教えいただけませんでしょうか? よろしくお願いいたします。 わかりにくくてすみません。

専門家に質問してみよう