dポイントプレゼントキャンペーン実施中!

ユーザーフォーム上に10個のコンボボックスがあり
それぞれ名前をcb1からcb10とします。

これらのコンボボックスには同じリストを取得して
表示していますが、選択するときには重複させないように
したいと思っています。

例を挙げると、
リストの値が”東京”、”大阪”、”名古屋”として、
cb1で”東京”を選択している場合は、残りのcb2~cb10では
”東京”を選択できないように、もしくは選択したときに
”すでに選択済みです”みたいなメッセージを表示させて
キャンセル状態に戻す、みたいにしたいのですが
スマートな書き方がわかりません。

※力業でそれぞれのコンボボックスのチェンジイベントで
他のコンボボックスの値を見に行って、重複があれば
メッセージを表示させるという方法ならわかるのですが
実際のコンボボックスの数が50近くあるためできれば
避けたいと思っています。

達人の皆様、どうぞ宜しくお願いします。

A 回答 (4件)

こんにちは。



>リストの値が”東京”、”大阪”、”名古屋”として、

こんにちは。ちょっとヘンだなって思ったら、それは、本来、コンボボックスではしないのですね。#1/2 さんが、書かれているように、同じソースを複数選択する場合は、ListBox にして、それを、MultiSelect -2 にします。(2つ目以降は、Ctrl をおしながら、クリックします)

それに、コンボボックスが50個というのは多すぎますね。もし、同じソースなら、ListBox ひとつで足ります。

>※力業でそれぞれのコンボボックスのチェンジイベントで他のコンボボックスの値を見に行って、重複があればメッセージを表示させるという方法ならわかるのですが

もし、どうしてもしたければ、一旦、モジュールレベルの配列の中に入れて、ループ検索するしかないと思います。
    • good
    • 0
この回答へのお礼

リストの複数選択は知っているのですが、
編集の都合上、リストは個々に分かれていた方が
良いということでこのような仕様にしてあります。
結局ループ検索で対応させました。
どうもありがとうございました。

お礼日時:2007/01/16 11:21

質問に対する直接的な回答ではありませんが、


皆さんが指摘されているリストボックス、複数選択について
もし、参考になれば、下記URLを確認してみて下さい。

「コンボボックス・リストボックス(コントロール編)」
http://www.geocities.jp/cbc_vbnet/cnntrol/cbo.ht …

「Microsoft サポートオンライン 複数選択リストボックス」
http://support.microsoft.com/kb/404895/ja

「サルでもわかる?かんたんHTML-リストボックスを作ろう」
http://saru-html.pupu.jp/8_9.shtml
    • good
    • 0
この回答へのお礼

リストの複数選択は知っているのですが、
編集の都合上、リストは個々に分かれていた方が
良いということでこのような仕様にしてあります。
結局ループ検索で対応させました。
どうもありがとうございました。

お礼日時:2007/01/16 11:22

同じ項目のコンボボックスでの同項目の重複選択を防ぐのは難しいです。


リストボックスで複数選択許す設定で、データナンバーを取得する方法か
チェックボックスにて複数選択させる方法を取った方がいいのでは?

コンボボックスにこだわる場合だと
判定用のサブルーチン作ってチェンジイベントで飛ばして
そちらで判定させればいいと思いますけど...
    • good
    • 0
この回答へのお礼

リストの複数選択は知っているのですが、
編集の都合上、リストは個々に分かれていた方が
良いということでこのような仕様にしてあります。
結局ループ検索で対応させました。
どうもありがとうございました。

お礼日時:2007/01/16 11:21

>これらのコンボボックスには同じリストを取得して


>実際のコンボボックスの数が50近くあるため
すごいインタフェースですね
この際VBAを勉強してリストボックスの複数選択を使うようにしたほうがいいんじゃないですか
    • good
    • 0
この回答へのお礼

それほど複雑なものではありません。
常時50というわけではなく、
少し凝った仕様にしてあるもので。
コンボボックスを互いに比較させるような
やり方があればと思ったのですが・・・

お礼日時:2007/01/16 11:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!