Excel VBA質問箱 IV

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

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


35941 / 76738 ←次へ | 前へ→

【45985】Re:コンボボックスとリストボックスの連動
回答  Kein  - 07/1/20(土) 20:20 -

引用なし
パスワード
   シート1のA1:B5に入力するなら、コンボボックスとリストボックスが参照する
リストは、仮に Sheet2 ということにします。フォームモジュールのコードは

Private Sub UserForm_Initialize()
  Dim Ary() As Variant
  Dim i As Integer, j As Integer
 
  ReDim Ary(0): Ary(0) = Empty
  With Sheets("Sheet2")
   For i = 1 To 10
     If IsError(Application _
     .Match(.Cells(i, 1).Value, Ary, 0)) Then
      ReDim Preserve Ary(j)
      Ary(j) = .Cells(i, 1).Value: j = j + 1
     End If
   Next i
  End With
  Me.ComboBox1.List = Ary: Erase Ary
  Me.ListBox1.MultiSelect = fmMultiSelectMulti
End Sub

Private Sub ComboBox1_Change()
  Dim Num As Long
  Dim C As Range
 
  With ComboBox1
   If .ListIndex = -1 Then Exit Sub
   Num = CLng(.Value)
  End With
  ListBox1.Clear
  With Sheets("Sheet2").Range("IV1:IV10")
   .Formula = "=IF($A1=" & Num & ",$B1)"
   On Error Resume Next
   .SpecialCells(3, 4).ClearContents
   On Error GoTo 0
   For Each C In .SpecialCells(3)
     ListBox1.AddItem C.Value
   Next
   .ClearContents
  End With
End Sub

Private Sub CommandButton1_Click()
  Dim i As Integer, j As Integer
 
  Sheets("Sheet1").Range("A1:B5").ClearContents
  With ListBox1
   For i = 0 To .ListCount - 1
     If .Selected(i) Then
      j = j + 1
      Sheets("Sheet1").Range("A1:B5") _
      .Cells(j).Value = .List(i)
     End If
   Next i
  End With
End Sub

で、出来ると思います。

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 回答

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