Excel VBA質問箱 IV

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

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


46151 / 76735 ←次へ | 前へ→

【35562】Re:sheet内の検索・・・
回答  太公望  - 06/3/7(火) 20:10 -

引用なし
パスワード
   皆さん今晩は。
Hirofumi さんがすでに別解を提示されていますが、これで試してみてください。
行表示にともない、かなりコードを見直しています。
重複して、行を表示しないよう工夫しています。

>すみません表示列はA〜Gです。リストボックスの表示は複数行です。


Private dic As Object

Private Sub UserForm_Initialize()
Dim rng As Range, r As Range, rn As Range
Dim vnt As Variant, v, cmbList
Dim dicChk As Object
  '
  cmbList = Array("a", "b", "c")  'ComboBox1に表示する値をセット
  With Sheets("Sheet1")
    Set rng = .Range("G1", .Range("G65536").End(xlUp))
  End With
  '
  Set dic = CreateObject("Scripting.Dictionary")
  Set dicChk = CreateObject("Scripting.Dictionary")
  '
  For Each v In cmbList
  For Each rn In rng.Cells
  For Each r In rn.Resize(1, 3)
    If r.Text Like ("*" & v & "*") Then
      If dic.exists(v) Then
        If dicChk.exists(r.Row & v) Then Exit For
        vnt = dic(v)
        ReDim Preserve vnt(UBound(vnt) + 1)
        vnt(UBound(vnt)) = Cells(r.Row, 1).Resize(1, 7).Value
      Else
        ReDim vnt(0 To 0)
        vnt(0) = Cells(r.Row, 1).Resize(1, 7).Value
      End If
      dic(v) = vnt
      dicChk(r.Row & v) = ""
    End If
  Next
  Next
  Next
  '
  ComboBox1.List = cmbList
  ComboBox1.ListIndex = 0
  '
  ListBox1.ColumnCount = 7  'ListBox1の列は7列にする
  '
  Set dicChk = Nothing
  Set rng = Nothing
End Sub

Private Sub ComboBox1_Change()
  ListBox1.List = Application.Transpose(Application. _
          Transpose(dic(ComboBox1.Value)))
End Sub

Private Sub UserForm_Terminate()
  Set dic = Nothing
End Sub
0 hits

【35469】sheet内の検索・・・ ton 06/3/5(日) 23:55 質問
【35499】Re:sheet内の検索・・・ 太公望 06/3/6(月) 21:48 回答
【35504】Re:sheet内の検索・・・ ton 06/3/7(火) 1:32 質問
【35511】Re:sheet内の検索・・・ Hirofumi 06/3/7(火) 9:53 回答
【35570】Re:sheet内の検索・・・ ton 06/3/7(火) 21:20 お礼
【35634】Re:sheet内の検索・・・ Hirofumi 06/3/8(水) 20:21 回答
【35562】Re:sheet内の検索・・・ 太公望 06/3/7(火) 20:10 回答
【35571】Re:sheet内の検索・・・ ton 06/3/7(火) 21:25 発言
【35577】Re:sheet内の検索・・・ 太公望 06/3/7(火) 21:58 発言
【35578】Re:sheet内の検索・・・ ton 06/3/7(火) 22:37 発言
【35579】Re:sheet内の検索・・・ 太公望 06/3/7(火) 23:54 発言
【35580】Re:sheet内の検索・・・ ton 06/3/8(水) 0:18 お礼

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