Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


36123 / 76738 ←次へ | 前へ→

【45799】Re:コンボボックスとリストボックスの連動
発言  ichinose  - 07/1/14(日) 17:38 -

引用なし
パスワード
   ▼ととろ さん:
こんにちは。

>シート上にA列とB列にデータがあり、ユーザーフォーム上のコンボボックスに、A列を表示させています。
>そのコンボボックス(A列)の選択結果により、その値と同じ場合のB列の値をリストボックスに表示させたいのです。
>
> A    B
> 1    1
> 2    2
> 2    3
> 2    4
> 3    5
> 4    6

上記のデータが新規ブックのSheet1というシートのA列、
B列に入力されているとします。


ユーザーフォーム(Userform1)には、
   コンボボックス(Combobox1) と
   リストボックス(Listbox1) をそれぞれひとつ配置してください。

Userform1のモジュールに
'============================================================
Private Myrng As Range
'============================================================
Private Sub ComboBox1_Change()
  Dim crng As Range
  Dim comp As Variant
  Dim ans As Variant
  Myrng.Cells(1).Offset(0, 2).Value = ComboBox1.Value
  With ListBox1
    .Clear
    ans = Evaluate("transpose(if(" & Myrng.Address & _
         "=sheet1!c1," & Myrng.Offset(0, 1).Address & _
         ",""" & Chr(&HFF) & """))")
    If TypeName(ans) <> "Variant()" Then
     ans = Array(ans)
     End If
    .List() = Filter(ans, Chr(&HFF), False)
    End With
End Sub
'============================================================
Private Sub UserForm_Initialize()
  Dim doc As Object
  Dim crng As Range
  Set doc = CreateObject("Scripting.Dictionary")
  With Worksheets("sheet1")
    Set Myrng = .Range("a1", .Cells(.Rows.Count, "a").End(xlUp))
    For Each crng In Myrng
     If Not doc.Exists(crng.Value) Then
       doc.Add crng.Value, crng.Value
       End If
     Next
    ComboBox1.List = doc.Keys
    ComboBox1.ListIndex = 0
    End With
End Sub


標準モジュールに
'==================================================
sub main()
  userform1.show
end sub


として、mainを実行してみてください。

ユーザーフォームが表示されますから、
コンボボックスの値を代えてみてください。
選択したデータに対応したB列のデータがリストボックスに表示されます。

尚、Sheet1のセルC1をプログラムが使っていますから、
リザーブしてください

試してみてください。

これ本当は、数字ではないのですよね?

0 hits

【45793】コンボボックスとリストボックスの連動 ととろ 07/1/14(日) 16:27 質問
【45797】Re:コンボボックスとリストボックスの連動 Hirofumi 07/1/14(日) 17:32 回答
【45798】Re:コンボボックスとリストボックスの連動 Kein 07/1/14(日) 17:32 回答
【45799】Re:コンボボックスとリストボックスの連動 ichinose 07/1/14(日) 17:38 発言
【45983】Re:コンボボックスとリストボックスの連動 ととろ 07/1/20(土) 18:38 質問
【45985】Re:コンボボックスとリストボックスの連動 Kein 07/1/20(土) 20:20 回答
【45987】Re:コンボボックスとリストボックスの連動 Kein 07/1/20(土) 20:26 発言
【45986】Re:コンボボックスとリストボックスの連動 Hirofumi 07/1/20(土) 20:23 回答

36123 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free