- 締切済み
コンボボックスの参照先(ListFillRange)が反映されない
「Excelで使うMySQL活用ガイド」という本のサンプルプログラム(付属CD-ROMより)で、顧客と商品を追加した直後に、そのデータ(それぞれ別ワークシートにある)を用いて売上を追加あるいは修正しようとするとコンボボックスにそのデータがリストされません。 コンボボックスの参照先(商品一覧、顧客一覧)を確認すると、ちゃんと新しいデータを含む範囲が含まれて指定されています。 つまり、別ワークシートにあるデータの2列をコンボボックスにリストさせて、選択したものをセルに入れようとしているときに、範囲指定が正しいにもかかわらず、すべての範囲がコンボボックスにリストされない、という問題です。 一度、ブックを閉じて再び開くとコンボボックスにすべてのデータがリストされます。 原因をご存知の方は教えていただければ助かります。なお、Excelのバージョンは2000です。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
質問の内容はありふれているが、状況(>「Excelで使うMySQL活用ガイド」という本のサンプルプログラム(付属CD-ROMより)で・・)が特殊で、読者回答者には、現象の再現が出来ないので答えられ問題だと思う。 質問者がもう少し具体的に質問に書かないと原因が判らないと思う。 コンボボックスのプロパティのリストの出し方判りますか。 その中の1行ListFillRangeは(エクセルのコントロールツールボックスのコンボの場合はVBなどと違って)文字列で書き入れる・指定するのだが、どう入っていますか。それも書かないで質問してもどうしようもない。 別シートのセル範囲の場合Sheet2!C1:C3のような描き方になるが、シート名は大丈夫ですか?現実のシートと付属CD-ROMでの指定の問題。 エクセルではデザインモードを脱すれば、即反映されるようだが(VBなどだと、AddItemなど実行しないと反映されない)。 範囲は固定して指定するのが基本なので、アイテムが増えるとそれなりにVBAなどで範囲拡張をしないとならないと思うが、どうなってますか? やってみると「名前」機能を使うと、アイテム数増加に少し自由度を持たせられるようですが。 >いて売上を追加あるいは修正しようとするとコンボボックスにそのデータがリストされません などは個別過ぎて、具体的にプログラムなど判らず、この質問コーナーの質問に適さないと思う。 ーーー コンボはシートに直接張り付いているか、フォーム上か コンボに出るのは顧客名か、商品名か。それは別のコンボか。 多列のコンボなんですか
お礼
解答ありがとうございます。補足しておきました。
補足
>コンボボックスのプロパティのリストの出し方判りますか。 はい。 >アイテムが増えるとそれなりにVBAなどで範囲拡張をしないとならないと思うが、どうなってますか? ListFillRangeは範囲名で指定しており、その範囲はデータが追加されるたびにVBAで指定しなおしており、正常に指定されています。 >コンボはシートに直接張り付いているか、フォーム上か コンボボックスはシートに置かれています。その下のセルに値が入るように指定してあります。 >コンボに出るのは顧客名か、商品名か。それは別のコンボか。 全く同じ機能を持つコンボボックスが2つあり、顧客番号と顧客名、商品番号と商品名をリストするようになっています。 >多列のコンボなんですか はい。上述のとおりリストされるのは、指定範囲内の列2つです。 なお、症状が出ている状態で、新しくコンボボックスを作成し、同じ設定にすると正しくリストされます。何か反映させるための手続きが必要なのかと思いますが、わかりません。よろしくお願いします。