• ベストアンサー

リストボックスから選択された値を取得する方法

Excel2000を使っています。フォームのリストボックスに複数のリストの値を登録し、その中の一つの値を選択すると、割り当てられたデータがセルに表示されるようにする事はできるのでしょうか。たとえば、リストの中に「東京、神奈川、埼玉」とあり、「東京」を選択すると「文京区、江戸川区」と出てくるような感じです。説明が悪くて申し訳ございませんが、よろしくお願いいたします。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

どこの内容のデータを持つかによりますが、、 新規にUserFormを作り、ComboBoxとListBoxを置きます。 下記を全てUserFormのモジュールにコピペして試して見て下さい。 '------------------------------------------------------------- Private Sub UserForm_Initialize() Dim s, i As Integer  s = Array("東京", "埼玉", "神奈川")  For i = 0 To UBound(s)    ComboBox1.AddItem s(i)  Next i End Sub '------------------------------------------------------------- Private Sub ComboBox1_Change() Dim s, i As Integer  ListBox1.Clear  Select Case ComboBox1.ListIndex   Case 0: s = Array("文京区", "江戸川区")   Case 1: s = Array("さいたま市", "川越市")   Case 2: s = Array("横浜市", "厚木市")   Case Else: Exit Sub  End Select  For i = 0 To UBound(s)    ListBox1.AddItem s(i)  Next i End Sub '------------------------------------------------------------- Private Sub ListBox1_Click()  ActiveCell.Value = ListBox1.List(ListBox1.ListIndex) End Sub

KUROSHIBA
質問者

お礼

迅速な回答ありがとうございました。自分の想像していた通りになり、とても参考になりました。感謝です。

その他の回答 (1)

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

>セルに表示されるようにする >東京、神奈川、埼玉」とあり、「東京」を選択すると「文京区、江戸川区」と出てくる ここがはっきりしませんが、セルではなく、リストボックスに「文京区、江戸川区」がでて、選択し、「セルに(選択された1つが)表示されるようにする」ではないですか。 (1)都道府県を指定するリスト(コンボ)ボックスと市区町村名を指定させるリスト(コンボ)ボックスは2つに分けて、別々に作るのが普通と思います。質問者は1つで両者を兼ねるイメージ?。 (2)都道府県の指定を受けて、市区町村ボックスのアイテム(項目)を瞬時に切り替える必要があります。いわば書き換えが必要です。 (3)市区町村に当たる2段目の指定の項目が少ないとき、かつ項目に増減が無いときは、#1のご解答のごとく、アイテム(項目)データをプログラムの中に取り込んで、比較的手軽に出来ますが、現実の全国3500市区町村のように、数が多い、変動ありですと、市区町村名データベースが必要で、それを的確に扱うには、データベースシステム(最低でもアクセス)のSQLという検索システムが使える必要ありといえるでしょう。 (4)エクセル操作だけで、#1のご解答のようにVBAを 使うのでない方法は簡単ではありません。 (5)むしろエクセルの「入力規則」の「リスト」を使った方法の過去質問と解答が3-4件見たことがあります。 これも範囲名を使った、技巧的な方法だったと記憶してます。OKWEBで「入力規則 リスト」で照会されると出てくる と思います。

KUROSHIBA
質問者

お礼

詳しいご説明をありがとうございます。分らないなりに質問してしまったので、上記に紹介頂いたいくつかの方法で可能な事も気付きませんでした。確かにデータ数が膨張してきた場合はSQLでの対応じゃないと厳しいですね。 それも検討して調べて試してみます。 また、リストと入力規則で検索したところ、同等な質問をされた方がいらっしゃって参考になる回答もすぐに見つかりました。本当に有難うございました。

関連するQ&A

専門家に質問してみよう