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

このQ&Aのポイント
  • エクセルのコンボボックスについて
  • エクセル2003で作成したワークシートに郵便番号と住所のリストがあります。現在、コンボボックスを使用して住所を検索していますが、手間がかかります。テキストボックスに郵便番号を入力し、ボタンをクリックすると、対応する住所が表示されるようにしたいです。方法が分からず、初心者ですので、教えていただけると助かります。
  • エクセル2003のワークシートに郵便番号と住所のリストがあります。コンボボックスを使用して住所を検索していますが、手間がかかります。テキストボックスに郵便番号を入力して、ボタンをクリックすると、対応する住所が表示されるようにしたいです。初心者なので、具体的な手順が分からず、教えていただけると嬉しいです。
回答を見る
  • ベストアンサー

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

XP エクセル2003なのですが、 現在ワークシートに郵便番号と住所のリストを作成しています。    郵便番号     住所  ***-**** ○○県○○市・・・  ***-**** XX県XX市・・・ ユーザーフォームにテキストBOXとコンボBOXとコマンドボタンを 配置しています。 コンボBOXではリストにしている住所のみを表示していますが、 その中から探すのが大変です。そこで、 テキストBOXに郵便番号を入力し、 コマンドボタンをクリックすると、 コンボBOXに該当する住所が表示されるようにしたいのですが、 どうすればいいのか、何から始めればいいのか、 全く分かりません・・・。いろいろな方法があると思うのですが、 教えていただければ幸いです。 初心者ですので質問形式が悪いかもしれませんが よろしくお願いします。

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

  • ベストアンサー
  • suz83238
  • ベストアンサー率30% (197/656)
回答No.2

まず、 =if(iserror(vlookup(****)),"",(vlookup(****))) ですが、 検索値が入力されていない場合(エラーの場合)VLOOKUPを記入するということなので、 検索値の入力されているセルをA1として =IF(A1,VLOOKUP(A1,$A$100:$B$200,2,0),"") のようにすっきりとまとめた方がいいと思いますよ。 あと、 フォームですけど、使っているフォームは下記のようなものですか? http://www.sharp-pcstudio.com/disp.asp?cno=5&tbno=0&dno=86 そうだとすると、セルに数式が入ってないから出ないだけだと思いますので、数式のセルを一つコピーして、住所を出したいところを全部選択して、右クリックして「形式を選択して貼り付け」、数式を選択、okで数式が入るから、表示されるようになると思います。 このとき、VLOOKUP内の範囲には必ず$(例$A%$1)をつけてください。

lucky_777
質問者

お礼

上手くいきました。ありがとうございました。 質問内容が不足しており、申し訳ありません・・。フォームはユーザーフォームを作成したのですが、構文がよく理解できていないので、思うようにいかないので苦労しています・・・。とても参考になりました。 これからも、質問をする機会が多くあると思いますので、お時間ありましたらまたご指導お願いします。

その他の回答 (1)

  • suz83238
  • ベストアンサー率30% (197/656)
回答No.1

コンボボックスに表示させるより、直接住所を表示させた方がいいのではないですか? たとえば、〒と住所の情報の記入してあるセルがA10からB100まであったとして(別シートでも可、その場合は範囲指定を下記とは変える)、A2に =IF(A1,VLOOKUP(A1,$A$10:$B100,2,0),"") を入力後、 A1に郵便番号を入れるとA2に住所が記入されます。

lucky_777
質問者

補足

返答ありがとうございました。=if(iserror(vlookup(****)),"",(vlookup(****)))にしたところシート上で指定セルに検索値を入力すると上手くいきましたが、フォームから指定セルに値を入れると検索できません・・・。参考になる事があれば教えていただけますと幸いです。 よろしくお願いします。

関連するQ&A

  • コンボボックスで

    コンボボックスで、あるテーブルを参照してリストを出す場合、リスト中になかった場合に、コマンドボタンを押せばテーブルの追加フォームが出てきて入力できるようにしています。この場合に、入力フォーム内で終了(保存)ボタンを押せば、自動的にコンボボックスの中に入り、かつもう一度選択しなくても表示されているような操作はできないものでしょうか?

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

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

  • コンボボックスの自動更新について

    コンボボックスの自動更新について エクセルのVBAで、ユーザーフォームを使用しています。 ユーザーフォームの中には「入力」ボタンとコンボボックスと テキストボックスがあります。 コンボボックスは、「ABCDEF」と6つのリストがあります。 ユーザーフォーム起動時には、コンボボックスは空欄で コンボボックスから、入力したい商品を選んで、入力ボタンを押して コンボボックスとテキストボックスの内容を入力・コンボボックスを 空欄に戻しています。 これを、「A」を選んで入力ボタンをおしたら「B」が選ばれる。 「B」を選んで入力ボタンをおしたら「C」が選ばれるといったように コンボボックスに表示されるリストを自動で更新することは できないでしょうか? Select case などを利用して組み立てようとしたのですが、 数時間以上調べても出来ません。 教えていただけると助かります。

  • コンボボックスからテキストボックスに連続して値を出したい

    エクセルVBAのユーザーフォームで、コンボボックスで選択したものをコマンドボタンを押すことで、同じフォーム上のテキストボックスに表示するところまではできたのですが、同じテキストボックスに追記する形でコンボボックスで選択したものを表示したいのですが、可能でしょうか。テキストボックスは複数行表示できるようにプロパティのMultiLineはTlueに設定することはしたのですが、2回目以降コンボボックスで選択した後コマンドボタンを押してもそのまま上書きするようなコードしかわかりません。 テキストボックスに、20回目まで選択項目を追加表示し、最後にはエクセルのシートにそのデータをコピーしたいのです。果たして、そのようなことは可能でしょうか。可能であればどのように記述すればよいのでしょうか。ぜひ諸先輩方のお知恵をお貸しください。よろしくお願いします。

  • エクセル マクロ コンボボックスリスト

    sheet1の場所でボタンクリックでフォーム表示。その中でコンボボックスリストを作成。 sheet3にデーターをA列に作りました。 1)フォームの中のコンボボックスをクリックしてリスト表示させた い。マクロの記述を教えてください。 2)コンボボックスリストに表示した文字をsheet2に記録するボタンを作ったがマクロの記述を教えてください。

  • エクセルVBAで郵便番号から住所を

    流れ (1)テキストボックス1に郵便番号7桁を入力 (2)コマンドボタン1(検索)をクリック (3)テキストボックス2に住所表示 上記のような流れで行いたいのです。セルに入力ではなく 入力フォームを作成してボックスやボタンを配置して作成したいのですが できますでしょうか??

  • テキストボックスのデフォルト設定とコンボボックスの更新について

    テキストボックスのデフォルト設定とコンボボックスの更新について エクセルのVBAで、ユーザーフォームを使用しています。 ユーザーフォームの中にはコンボボックスとテキストボックスとボタンがあります。 コンボボックスには「ABCDEFGHIJKLM」と合計13のリストがあります。 ユーザーフォーム起動時に、コンボボックスには最初のリスト(A)が表示 されていて、「次へ」ボタンと「戻る」ボタンの2つを用意しています。 (1)ユーザーフォーム起動時にテキストボックスに「0」を入れる方法を教えていただけないでしょうか。 コンボボックスで「A」が選択された状態で「次へ」ボタンをおしたら「B」が選ばれる。 「D」が選択された状態で「次へ」ボタンをおしたら「E」が選ばれる。 「M」が選択された状態で「次へ」ボタンをおしたら「A」が選択される。(リストの最初に戻る。) というのは、次のVBAで上手くいきました。 If Combobox1.ListIndex < Combobox1.ListCount - 1 Then Combobox1.Text = Combobox1.List(Combobox1.ListIndex + 1) Else Combobox1.Text = Combobox1.List(0) End If (2)しかし「E」が選択された状態で「戻る」ボタンをおしたら「D」が選ばれる。 「G」が選択された状態で「戻る」ボタンをおしたら「F」が選ばれる。 「A」が選択された状態で「戻る」ボタンをおしたら「M」が選ばれる。(リストの最後に戻る。) といった内容のマクロがうまく組めません。 教えていただけると助かります。

  • コンボボックスのボタンの大きさについて

    Microsoft Accessのフォームにツールボックスからコンボボックスを配置しました。 表示される文字を大きめにしようとコンボボックスのサイズを変更したら右の ボタン[▼]が小さくなってしまいました。 ボタンのサイズをコンボボックスの高さとあわせるには何らかの操作が必要なのでしょうか? ご存知の方教えてください。

  • Accessレポートでコンボボックスが動かない

    Access2010のレポートでコンボボックスを使いたいのですが、コンボボックスが正しく表示されず困っています。 表示されないというのは、コンボボックスのリストを選択する逆三角形が表示されず、またリストも全く表示されません。つまりテキストボックスのように空のの四角い箱が表示されてしまいます。 表示したいリストはあるテーブルから引っ張っているのですが、全く同じことをリストボックスでやろうとするとすべての項目がうまく表示できることは確認しました。 またフォームの方ではコンボボックスをから項目が選択できることも確認できています。 レポートではコンボボックスが使えないような仕様になっているのでしょうか? お分かりになる方教えていただけますでしょうか?

  • EXCEL ユーザーフォームを使ったマクロ

    データの登録をするのにユーザーフォームを使おうと思うのですが、なかなかうまくいきません。教えてください。 ユーザーフォームにはコンボボックス、テキストボックス、コマンドボタンが貼り付けてあります。(コンボボックスのリストには呼び出したいシートの名前が入っています) コンボボックスのリストの中から呼び出したいシートを選択し、テキストボックスに入力した内容を、コマンドボタンを押すことで選択されたシート上の、あるセルに登録したいのですがどうすればよいでしょうか?

専門家に質問してみよう