• ベストアンサー

エクセル VBAのリストボックス

エクセルのVBAでユーザーフォーム上のリストボックスに文字を入力すると候補がドロップダウンリストに表示され、候補から一つを選択するとドロップダウンリストをとじるといったコードを教えてください。ただし、最終的にリストボックスの値はリストから選ぶのみで、文字を入力するのは候補を表示するためだけに使いたいのです。どなたか、ご教授願います。

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

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.3

実用的な使用法には思えませんが やろうと思えば出来る? A1~A9、B1~B9、C1~C9、各範囲に候補を作成 userformにcomboboxを作成し、コードをコピペ userformを実行し comboboxに文字を入力 a、b、cを入力すると aならA1~A9のりスト bならB1~B9のリスト cならC1~C9のリストが それぞれ表示され、リスト以外の文字が選択できなくなる Private Sub ComboBox1_Change() Select Case ComboBox1.Value Case "a" ComboBox1.RowSource = "a1:a9" ComboBox1.MatchRequired = True Case "b" ComboBox1.RowSource = "b1:b9" ComboBox1.MatchRequired = True Case "c" ComboBox1.RowSource = "c1:c9" ComboBox1.MatchRequired = True End Select End Sub 参考までに アレンジはご自分で

その他の回答 (2)

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

コンボボックス一つでは出来ないと思います。 データ格納用、データ入力用、データ表示用 が必要になると思います。 一番単純なのは、データを配列に格納しておき、 テキストボックスに文字を入力、テキストボックス のデータを参照して配列からデータ抽出、コンボボックス に表示、というものでしょうか。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

コンボボックスは入力を受け付けるけどリストボックスは 入力を受け付けなかったと思います。 テキストボックスに文字を入れ、候補をリストボックスから 抽出、抽出したものを別のリストボックスかコンボボックスに 表示、ではだめですか? なお、リストボックスはリストを閉じることは出来ません。 (リストボックス事態を非表示にすることは出来ます) コンボボックスならできます。

50000
質問者

補足

すみませんでした。質問が間違っていました。リストボックスではなくコンボボックスでした。