• 締切済み

コンボボックスの参照先(ListFillRange)が反映されない

 「Excelで使うMySQL活用ガイド」という本のサンプルプログラム(付属CD-ROMより)で、顧客と商品を追加した直後に、そのデータ(それぞれ別ワークシートにある)を用いて売上を追加あるいは修正しようとするとコンボボックスにそのデータがリストされません。  コンボボックスの参照先(商品一覧、顧客一覧)を確認すると、ちゃんと新しいデータを含む範囲が含まれて指定されています。  つまり、別ワークシートにあるデータの2列をコンボボックスにリストさせて、選択したものをセルに入れようとしているときに、範囲指定が正しいにもかかわらず、すべての範囲がコンボボックスにリストされない、という問題です。  一度、ブックを閉じて再び開くとコンボボックスにすべてのデータがリストされます。  原因をご存知の方は教えていただければ助かります。なお、Excelのバージョンは2000です。

みんなの回答

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

質問の内容はありふれているが、状況(>「Excelで使うMySQL活用ガイド」という本のサンプルプログラム(付属CD-ROMより)で・・)が特殊で、読者回答者には、現象の再現が出来ないので答えられ問題だと思う。 質問者がもう少し具体的に質問に書かないと原因が判らないと思う。 コンボボックスのプロパティのリストの出し方判りますか。 その中の1行ListFillRangeは(エクセルのコントロールツールボックスのコンボの場合はVBなどと違って)文字列で書き入れる・指定するのだが、どう入っていますか。それも書かないで質問してもどうしようもない。 別シートのセル範囲の場合Sheet2!C1:C3のような描き方になるが、シート名は大丈夫ですか?現実のシートと付属CD-ROMでの指定の問題。 エクセルではデザインモードを脱すれば、即反映されるようだが(VBなどだと、AddItemなど実行しないと反映されない)。 範囲は固定して指定するのが基本なので、アイテムが増えるとそれなりにVBAなどで範囲拡張をしないとならないと思うが、どうなってますか? やってみると「名前」機能を使うと、アイテム数増加に少し自由度を持たせられるようですが。 >いて売上を追加あるいは修正しようとするとコンボボックスにそのデータがリストされません などは個別過ぎて、具体的にプログラムなど判らず、この質問コーナーの質問に適さないと思う。 ーーー コンボはシートに直接張り付いているか、フォーム上か コンボに出るのは顧客名か、商品名か。それは別のコンボか。 多列のコンボなんですか

qryoec
質問者

お礼

解答ありがとうございます。補足しておきました。

qryoec
質問者

補足

>コンボボックスのプロパティのリストの出し方判りますか。 はい。 >アイテムが増えるとそれなりにVBAなどで範囲拡張をしないとならないと思うが、どうなってますか? ListFillRangeは範囲名で指定しており、その範囲はデータが追加されるたびにVBAで指定しなおしており、正常に指定されています。 >コンボはシートに直接張り付いているか、フォーム上か コンボボックスはシートに置かれています。その下のセルに値が入るように指定してあります。 >コンボに出るのは顧客名か、商品名か。それは別のコンボか。 全く同じ機能を持つコンボボックスが2つあり、顧客番号と顧客名、商品番号と商品名をリストするようになっています。 >多列のコンボなんですか はい。上述のとおりリストされるのは、指定範囲内の列2つです。 なお、症状が出ている状態で、新しくコンボボックスを作成し、同じ設定にすると正しくリストされます。何か反映させるための手続きが必要なのかと思いますが、わかりません。よろしくお願いします。

関連するQ&A

  • ユーザーフォーム上のコンボボックスのリンク先はどうやって指定?

    エクセル97です。ユーザーフォームにおいたコンボボックスに表示させたいワークシート上のリスト、およびコンボボックスで選択された値をリンクさせたいセルの指定方法がわかりません。オプションボタンやチェックボックスのリンク先指定方法もわかりません。またユーザーフォームには「OK」「キャンセル」ボタンもないのでしょうか? エクセル95のときはダイアローグシートにコンボボックスを置き、コントロールの書式設定で簡単に指定が出来たのですが、97に変えてからは、敢えてエクセル5.0のダイアローグを挿入しないといけないようなので、出来ればユーザーフォームで作ってみたいのです。どうかよろしくお願いします。

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

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

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

    現在ブックに"Sheet1" "Sheet2"が存在していて、 Sheet1にコンボボックス用のリスト一覧を作成して、 Sheet2にSheet1のリスト一覧を参照してコンボボックスを作成したいのです。 リストは、動的に変化できるようにA1~A65536まで使用できるようにしたい場合どのように、コードを作成すればよいのでしょうか。。。

  • エクセルコンボボックスでファイルを開く

    作業効率を上げたいと考えてますが どうしたら良いか分かりません。コンボボックスを使う方法があると聞きましたがどうしたらいいでしょうか? 毎日エクスプローラーショートカットから複数あるファイルの中からエクセルワークシートを開いて入力したりしていますが、複数のファイル(エクセルワークシート)名をワークシート上にファイル名リストを作り、開きたいファイルをコンボボックスで選びそのワークシートを開きたいのですが、どうしたらいいのでしょうか? 当方初心者ですので分かりやすくご指導下さい

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

    excelVBAのコンボボックスについて質問です。 ユーザーフォームに設置したコンボボックスに違うシートの特定範囲を設定するには どのようにプログラムすればよろしいでしょうか? 自分なりにいろいろ調べてみたのですが解決できませんでした。 要約すると ユーザーフォームはsheet1からボタンで起動させ(ここまでは苦もなくできました)、でてきたユーザーフォームにあるコンボボックスにsheet2にある特定範囲 また、この特定範囲をデータのある範囲だけ(データが追加されれば自動でそれを取得する)に設定することは可能ですか?

  • コンボボックスに表示するデータをマクロで処理したい

    EXCEL2000を使っています。 sheet1にある一覧表のデータをsheet2のコンボボックスの入力範囲として使っています。 コンボボックスですが、実際にはリストボックスとしてしか利用していません。 現在は、sheet1の一覧表が更新されるたびに、手作業で入力範囲を修正していましたが、これをマクロで処理する方法はないでしょうか? 例えば、sheet2がアクティブになった時にマクロが自動実行し、入力範囲が変更されれば完璧です。 どなたか、アドバイスお願い致します。

  • コンボボックスの設定  【エクセル】

    エクセルのコンボボックスについてです。 コンボボックスのリストとして 赤 青 黄色 というリストをコンボボックスの‘入力範囲’に指定します。 コンボボックスの ‘コントロールの書式設定’→‘リンクするセル’ でセルを指定すると、赤を選んだとき リンクさせたセルには 「1」とでますが、なぜ1と出るのか、というのと 私は「赤」と表示させたいのですが、そのやり方を教えて頂きたいです。 コンボボックスを初めて使うので初心者的な質問だと思いますが宜しくお願いします。

  • EXCEL コンボボックスの一覧

    EXCELのシート上にコンボボックスがあります。 ここには、ある列のA1からデータが入っている最後のセルまで(例えばA14)の一覧を表示したいと思っています。 参照するセルの終わりが、A14やA20など、どこまでデータが入力されているかによって可変で変わります。 その場合、少し大目にA1:A50としておくと、データが入っていない空白セルまでコンボボックスの一覧に表示されてきます。 こうならないように、データが入っている範囲だけとしたい場合、どのような設定にすればよいでしょうか。 よろしくお願いします。

  • エクセル、フォームでのVBAについて(コンボボックス)

    エクセル97でフォームのコンボボックスを使用する場合の質問です。 ワークシートにコンボボックスを10個配置しました。 入力範囲はすべて同じです。 このコンボボックスで特定の項目(入力範囲6番目)を選んだ場合、次のマクロを実行するようにしようと思っています。マクロを10個書いてそれぞれのコンボボックスに登録してもいいのですが、それよりはどのコンボボックスが使用されたか特定できればすべてのコンボボックスに一つのマクロで対応できます。 コンボボックスに番号(たとえばコンボ1~コンボ10)を振ってその番号の取得ができればいいのですが、どのように記述したらよいのか検討がつきません。 お教えください。

  • シート上のコンボボックスの使い方

    シート上のコンボボックスの使い方 現在作っている物があるのですが、色々と調べてはみるものの解決出来なくて困っています。 ☆やりたいこと シート1 コンボボックスA コンボボックスB コンボボックスC 一覧表(A1~A16)の枠だけが書かれているもの コンボボックスA・・・青森 秋田 岩手 コンボボックスB・・・100 200 300 コンボボックスC・・・北 東 西 南 シート2 コンボボックスAとBとCの選択されたものによって選ばれる一覧表(例A1~E16)のデータ ☆シート1にてコンボボックスを3種類選択した時に、シート1枠だけの一覧表にシート2のデータが表示される! ということがやりたいです。 説明がアバウトすぎて申し訳ありませんが、初心者なりに色々やった結果が惨敗に終わっている状態です。 皆様のお力を貸していただきたく思います。

専門家に質問してみよう