Excel VBA質問箱 IV

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

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


36125 / 76738 ←次へ | 前へ→

【45797】Re:コンボボックスとリストボックスの連動
回答  Hirofumi  - 07/1/14(日) 17:32 -

引用なし
パスワード
   Listは、A列で昇順整列されて居る事とします

以下をUserFormのコードモジュールに記述して下さい

Option Explicit

'モジュールレベルの変数を宣言
'(モジュール全域から参照出来る変数)
Private rngList As Range
Private lngRows As Long

Private Sub UserForm_Initialize()

  Dim i As Long
  Dim vntData As Variant
  
  'Listの基準位置を設定
  Set rngList = ActiveSheet.Cells(1, "A")
  With rngList
    'List行数を取得
    lngRows = .Offset(Rows.Count - .Row).End(xlUp).Row - .Row + 1
    If lngRows >= 1 Then
      'ComboBox1にA列データを無重複で登録
      vntData = .Resize(lngRows + 1).Value
      ComboBox1.AddItem vntData(1, 1)
      For i = 2 To lngRows
        If vntData(i - 1, 1) <> vntData(i, 1) Then
          ComboBox1.AddItem vntData(i, 1)
        End If
      Next i
    Else
      lngRows = 0
    End If
  End With
  
End Sub

Private Sub UserForm_Terminate()

  Set rngList = Nothing

End Sub

Private Sub ComboBox1_Change()

  Dim i As Long
  Dim vntData As Variant
  Dim vntKey As Variant
  
  '有効な選択がされた場合
  If ComboBox1.ListIndex > -1 Then
    'ComboBox1の値を変数に取得
    vntKey = ComboBox1.Value
    ListBox1.Clear
    'List行数が1以上なら(Listにデータが有るなら)
    If lngRows > 0 Then
      'A列、B列データを配列に取得
      vntData = rngList.Resize(lngRows, 2).Value
      For i = 1 To lngRows
        'A列の値とComboBox1の値が同じなら
        If CStr(vntData(i, 1)) = vntKey Then
          'ListBox1にB列データを登録
          ListBox1.AddItem vntData(i, 2)
        End If
      Next i
    End If
  End If
        
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 回答

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