プロが教える店舗&オフィスのセキュリティ対策術

TextBoxに検索対象を入力しリストボックスに表示させているのですが
検索対象を1つ限定ではなく含む検索にしたいのですが可能でしょうか?
現状は下記になります
'B列に該当データがあったら
If Cells(i, 2) = Me.TextBox1.Text Then
せっかくリストボックスにしているのですから含む検索にして
該当する物も表示させたいと思いました
検索対象は管理№になります 100002や100002_1または1000021なども含みたいです

A 回答 (2件)

tiatGPTに聞いてみました 以下はその回答です。



はい、可能です。次のようにコードを修正することで、TextBoxに入力された文字列がB列のセルの値の一部と一致する場合に、そのセルの値を含むかどうかを検索することができます。

vba
Copy code
Private Sub TextBox1_Change()
Dim searchTerm As String
Dim i As Integer
Dim listBoxIndex As Integer

Me.ListBox1.Clear

searchTerm = Me.TextBox1.Text

If Len(searchTerm) = 0 Then Exit Sub ' 検索対象が空の場合は処理を終了

For i = 1 To Cells(Rows.Count, 2).End(xlUp).Row
If InStr(1, Cells(i, 2), searchTerm) > 0 Then
Me.ListBox1.AddItem Cells(i, 2).Value
End If
Next i
End Sub
このコードでは、InStr関数を使用してセルの値がTextBoxに入力された文字列を含むかどうかを判断しています。含む場合は、そのセルの値をリストボックスに追加します。
    • good
    • 0
この回答へのお礼

解決しました

お礼日時:2024/03/22 17:17

こんにちは



検索をどのような方法で行っているのか不明ですけれど・・

・FINDメソッドで検索しているのなら、LookAtにxlPartを指定すれば部分一致になります。
https://learn.microsoft.com/ja-jp/office/vba/api …

・対象セルをループして検索しているのなら
LIke演算子でワイルドカードを利用する
https://learn.microsoft.com/ja-jp/office/vba/lan …
あるいは、InStr関数で含まれているかをチェックする
https://learn.microsoft.com/ja-jp/office/vba/lan …

などの方法が考えられるかと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A