[[20210304201153]] 『リストボックス 内容を書き換える』(みず) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『リストボックス 内容を書き換える』(みず)

こんばんは

ユーザーフォームにテキ
ストボックスとリストボックスがあります。
テキストが書き変わったら
テキストボックスのチェンジイベントで
テキストに書き込まれた文字を含むリストに
絞り込んでいく様にしています。

チェンジイベントで
リストボックスの表示が
新しく書き変わらず
今表示されている後ろに
どんどん追加されていきます。

リストボックスをクリアする様に
書き加えたのですが
エラーになります。

どのタイミングの時
何処に、どのように記述するのかが
分かりません。

どなたか教えて頂けませんか?

Option Explicit
Private Sub TextBox1_Change()
Call ListChange3
End Sub

Private Sub UserForm_Initialize()
Call ListAdd3
End Sub

Option Explicit
Sub FormShow3()
UserForm3.SHOW vbModeless
End Sub

Sub ListAdd3()
Dim ListCount As Long
Dim i As Long
Dim MaxRow As Long
Dim C As Long
Dim TargetStr As String

'リストの最終行を取得
MaxRow = Sheets("工具リスト").Cells(Rows.Count, 6).End(xlUp).Row

With UserForm3

    .ListBox1.ColumnCount = 3
    .ListBox1.ColumnWidths = "60;40;40"
         For i = 3 To MaxRow

                 C = .ListBox1.ListCount
                 .ListBox1.AddItem ""
                 .ListBox1.List(C, 0) = Cells(i, 6).Value
                 .ListBox1.List(C, 1) = Cells(i, 4).Value
                 .ListBox1.List(C, 2) = Cells(i, 5).Value

         Next i

End With

End Sub

Sub ListChange3()
'テキスト入力部分が変更されたときに、
'入力されたテキストと部分一致するリストを作成
Dim i As Long, C As Long
Dim MaxRow As Long
Dim TargetStr As String

'リストの最終行を取得
MaxRow = Sheets("工具リスト").Cells(Rows.Count, 6).End(xlUp).Row

TargetStr = UserForm3.TextBox1.Value 'テキストを取得
Debug.Print TargetStr
'一度リストを削除する
'UserForm3.ListBox1.List = Array()

With UserForm3
'.ListBox1.AddItem ""

    .ListBox1.ColumnCount = 3
    .ListBox1.ColumnWidths = "60;40;40"
         For i = 3 To MaxRow
             If InStr(Cells(i, 6), TargetStr) <> 0 Then
                '.ListBox1.Clear
                 C = .ListBox1.ListCount
                 .ListBox1.AddItem ""
                 .ListBox1.List(C, 0) = Cells(i, 6).Value
                 .ListBox1.List(C, 1) = Cells(i, 4).Value
                 .ListBox1.List(C, 2) = Cells(i, 5).Value
                 Debug.Print .ListBox1.List(C, 0)
             End If
        Next i
End With

End Sub

< 使用 Excel:Office365、使用 OS:Windows10 >


こんばんは
自己解決しました。
ありがとうございました。
(みず) 2021/03/04(木) 22:49

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.