• ベストアンサー

エクセルのリストボックスの複数選択について

エクセルのワークシート上に配置するリストボックスで複数選択する場合に値(番号)を返す方法を教えてください。よろしくお願いします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

補足に書かれているURLでは「フォーム」のリストボックスを利用していますが、まずこれは「コントロールツールボックス」のリストボックスに変更してください。 シート上にリストボックスを貼り付けたら、プロパティのListFilRangeにリストに表示する値の範囲を指定し、MultiSelectの値は1(複数選択可)にしてから、コードの表示で開く画面に以下のマクロを貼り付けてください Private Sub ListBox1_Change() Dim idx, ptr As Integer Const trg As String = "A15" '選択値を書き込む最初のセルアドレス  With ListBox1   ActiveSheet.Range(trg).Resize(.ListCount).ClearContents   For idx = 0 To .ListCount - 1     If .Selected(idx) Then       ActiveSheet.Range(trg).Offset(ptr, 0).Value = .List(idx)       ptr = ptr + 1     End If   Next idx  End With End Sub コントロールツールボックスの「デザインモード終了」した後で、リストボックスの値を選択するとA15セルから下方向に選択した値がセットされます。 >複数選択する場合に値(番号)を返す方法 が具体的に書かれていないのでマクロ3行目に書いたセルアドレスから下方向に書き込むようにしました。値の返し方はご自由に変更してください

その他の回答 (2)

noname#79209
noname#79209
回答No.2

以下を参考にして下さい。 http://www.geocities.jp/happy_ngi/YNxv9g042.html

wasabi033
質問者

補足

回答ありがとうございます。 申し訳ありませんが下記のサイトの応用なのですが、別窓が出ないようなマクロはありませんか? ​http://pc.nikkeibp.co.jp/article/NPC/20060214/229236/

  • kuroooooo
  • ベストアンサー率47% (8/17)
回答No.1

VBAで Dim i As Integer For i = 1 To Me.ListBox1.ListCount - 1 If Me.ListBox1.Selected(i) = True Then MsgBox i Next みたいな事ですか?

wasabi033
質問者

補足

早速の回答ありがとうございます。 説明が下手でして・・・ 申し訳ありませんが下記のサイトの応用なのですがよろしくお願いします。 http://pc.nikkeibp.co.jp/article/NPC/20060214/229236/

関連するQ&A

  • リストボックスの複数選択

    ワークシート上に配置するリストボックスで複数選択する場合に値(番号)を返す方法を教えてください。

  • エクセル2013のリストボックス

    エクセル2010でワークシート上に配置したリストボックスがあります。 ActiveXではなくフォームコントロールのリストボックスです。 これに11項目のリストを設定してあります。 2010ではまったく問題がないのですが、エクセル2013で開くと下の2項目が選択できません。 2010と2013では互換性がないのでしょうか?

  • リストボックス(複数選択しない)の場合の選択解除について

    こんにちは。現在ACCESS2000のフォームにリストボックスを配置し、 複数選択は「しない」に設定しています。 リストボックスの項目をどれか一つ選択するか全く選択しないことを 可能としたい(選択している値を再度クリックすると選択解除できるよう にしたい)のですが、うまくいきません。 何か方法がありましたら、ご教示願います。

  • EXCELリストボックスの複数値の取得

    EXCELのリストボックスの複数選択又は拡張選択の値の取得方法がわかりません。 下図は単一選択で行った場合です。 この時、複数選択又は拡張選択を選んだ場合の「リンクするセル」の設定がわかりません。 VBAを使用しない方法で値を取得したいのです。 わかる方、教えて下さい。

  • エクセルの「フォーム」のリストボックスで複数選択?

    エクセル2000です。 「コントロールツールボックス」ではなく、「フォーム」のリストボックスで複数選択を可能とした場合、選ばれたのが何番目と何番目なのかを知る方法をご教示ください。 単一選択であれば「リンクするセル」に何番目か表示されるのですが、複数選択では0となってしまいます。 選択できる数を仮に4つまでに限定する方法ももしあれば教えてください。 複数選択以外に「拡張選択」というものもありますが、これはどういう使い方をするのでしょうか?

  • エクセル 2003 リストボックス複数選択後の処理

    いつもありがとうございます。 先日もご質問させていただきました。 エクセル VBA 初心者で困っております。 誠に申し訳ありませんが、ご教授をよろしくお願いします。 (sheet2)のデータをリストボックス(sheet1)で複数の値を選択し、 オートフィルタ-に反映させて抽出し、 その後、セルB1以下(sheet1)に入力した値と貼り付けた別のシート(sheet3)で数値1×数値2を掛け算し、数値3にそれぞれ出すのが目的です。 sheet1 リストボックスで複数選択された値を、A1より下に貼り付けていく それぞれB列に数値を入れる 例.(リストボックス選択後)     A     B 1  製品A  5(入力) 2  製品B  3(入力) 3  製品C 2(入力) ・ ・ ・ コマンドボタン1を押すと実行 sheet2(今後増える可能性あり)      製品名      数値1    数値2   数値3 1 製品C       2           2 製品A       2 3 製品E       1 4 製品B       4 5 製品F       3 6 製品D       5 ・ ・ ・ sheet3(貼付先) 実行結果   製品名      数値1    数値2   数値3         1 製品A        2        5      10 2 製品B        4        3      12 3 製品C   2 2 4 以前の質問では、1つずつでの入力で思ったとおりの結果になりました。 今回は複数です。 初心者で、まだ手を出す部分ではないとは思いますが、よろしくお願い致します。

  • Excel、リスト、複数

    こんにちは。 Excel2000でリストから複数の値を選択し、セルに反映させる方法はありますか? 入力規則は1つしか選択できませんよね。 コントロールツールボックスを使えば良いのでしょうか? VBは超初心者のため何とぞ宜しくお願いします。

  • エクセル リストボックスの複数選択

    エクセル ActiveXコントロール のリストボックスで複数選択(fmMultiSelectMulti)ができますが、 エクセルを保存して再起動すると、前回選択した行は全てリセットされています。 エクセルを再起動しても選択部分が保持されるような設定はありますでしょうか。

  • EXCEL2000 リストボックスの返り値について

    はじめまして。 EXCEL2000で、ワークシート上にリストボックスを作成しました。 複数選択できるタイプなのですが、選択した内容の判断はどのように行えばよいのでしょうか。 例えば、セルA1:A5に「あ」「い」「う」「え」「お」と入力されており、これがリストボックスの内容としてリンクされています。 リストボックスから選択すると、選択した文字に対応してセルB1:B5に「1(選択)」「0(未選択)」と数字のみ入るようにしたいのですが… ワークシート上、あるいはVBAでできる方法がありましたらご教授お願いいたします。 ちなみにVBAは初心者です。

  • エクセルVBAで複数選択できるように設定したリストボックスの、選択され

    エクセルVBAで複数選択できるように設定したリストボックスの、選択されている項目の数を取得する方法はないでしょうか?

専門家に質問してみよう