Page 815 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼検索値を含む行をリストボックスに表示させるには EBA 03/2/28(金) 18:28 ┗Re:検索値を含む行をリストボックスに表示... ポンタ 03/3/1(土) 11:19 ┗Re:検索値を含む行をリストボックスに表示... EBA 03/3/1(土) 14:01 ─────────────────────────────────────── ■題名 : 検索値を含む行をリストボックスに表示させるには ■名前 : EBA ■日付 : 03/2/28(金) 18:28 -------------------------------------------------------------------------
お世話になります。 EXCELVBA初心者のEBAです。 早速ですが質問させていただきたいのです。 下記のようなシート「リスト」があるのですが、ユーザーフォームの リストボックス1にB列(No)、C列(事務所名)を表示させたのですが、 テキストボックスに検索値(例えば「あ」)を入力してコマンドボタンを クリックすると、リストボックスの内容が事務所名に「あ」を含むデータが 表示される、ということをやりたいのですが・・・。 アクティブになっているシートは「リスト」ではないのです。 どなたか、ご教授お願い致します。 A B C 1 協力会社名簿 2 rank No 事務所名 3 A 0001 にこーる開発(株) 4 B 0002 ジョディ(株) 5 A 0003 (株)あーのるど設計 6 B 0004 (株)ちゃーりー・ぶらうん 7 B 0005 きあぬ建設 8 A 0006 (株)あめしょー '===================================== ’リストボックスに最初に表示させるためのコードはこんな感じなのですが・・・。 Private Sub UserForm_Initialize() Dim LastRow As Long Dim i As Integer Dim j As Integer With ListBox1 .ColumnCount = 2 .ColumnWidths = "50;200" End With With Worksheets("リスト") LastRow = .Range("B2").CurrentRegion.Rows.Count For i = 0 To LastRow - 3 ListBox1.AddItem For j = 0 To 1 ListBox1.Column(j, i) = .Cells(i + 3, j + 2) Next Next End With End Sub |
こんな感じでどうでしょう? フォームモジュールに貼り付けてお試しください。 Private Sub TextBox1_Change() Dim LastRow As Long Dim i As Integer Dim j As Integer Dim k As Integer ListBox1.Clear With Worksheets("リスト") LastRow = .Range("B65536").End(xlUp).Row k = 0 For i = 3 To LastRow If InStr(1, .Cells(i, 3).Value, TextBox1.Value) > 0 Then ListBox1.AddItem For j = 0 To 1 ListBox1.Column(j, k) = .Cells(i, j + 2) Next k = k + 1 End If Next End With End Sub |
▼ポンタ さん: こんにちは!(^o^) 早速の回答ありがとうございました。 いただいたコードでうまく動きました。 いつも、いつも親切な御指導ありがとうございます。 カメのように遅い歩みの私ですが(カメに失礼・・・?) これからも頑張りますので宜しくお願いします。m(__)m |