プロが教えるわが家の防犯対策術!

エクセル・VBAでテキストボックスに入力された文字を
B列から検索し、結果をユーザーフォームのリストbox
に表示したいのですがうまくいきません
検索は部分一致・大文字小文字無視で行いたいです
よろしくお願いします

A 回答 (4件)

部分的に一致していても、リストに追加するように出来ますか?


If Range("B" & i).Value = TextBox1.Value Then

If Range("B" & i).Value Like "*" & TextBox1.Value & "*" Then
にするとか

また、表示された1・2列目をクリックすると、そのセル
をアクティブに出来ると良いのですが・・・
No1の方のコードをお借りします。
Private Sub ListBox1_Click()
Range("C:C").Find(what:=ListBox1.Value, LookIn:=xlValues, lookat:=xlPart, MatchCase:=False).Activate
End Sub
とかでは?
    • good
    • 0
この回答へのお礼

ありがとう御座いました
お二方のおかげでうまく動いています

本当にありがとう御座いましたm<__>m

お礼日時:2010/05/03 18:15

ん? なるほど,そういう事がしたかった訳ですか。



private sub CommandButton1_Click()
 dim c as range
 dim f as string

 set c = worksheets("Sheet1").range("B:B).find(what:=textbox1, lookin:=xlvalues, lookat:=xlpart, matchcase:=false)
 if c is nothing then exit sub

 f = c.address
 do
  listbox1.additem c.value
  set c = worksheets("Sheet1").range("B:B).findnext(c)
 loop until c.address = f
end sub
とか。

この回答への補足

何度も回答いただきありがとう御座います
うまく表示出来るようになりました

表示された検索結果をクリックすると、そのセルを
アクティブにする事は出来ないのでしょうか?

補足日時:2010/05/03 17:57
    • good
    • 1

Private Sub CommandButton1_Click()


ListBox1.Clear
For i = 2 To Range("B65536").End(xlUp).Row
If Range("B" & i).Value = TextBox1.Value Then
ListBox1.AddItem Range("C" & i).Value
End If
Next
End Sub
これではダメだったのでしょうか?
B列の2行目から検索して textbox1と同じだったらC列をリストに追加
見たいな感じですか。

この回答への補足

部分的に一致していても、リストに追加するように出来ますか?

例えば、下記データが入力されていて、

A     B     C
1212   5568   4848
3535   8568   1234
4567   5577   4567

テキスト入力が「568」の時に、1・2列目が表示される
様に出来ないでしょうか?

また、表示された1・2列目をクリックすると、そのセル
をアクティブに出来ると良いのですが・・・

補足日時:2010/05/03 17:33
    • good
    • 0

private sub commandbutton1_click()


if application.countif(worksheets("Sheet1").range("B:B"), "*" & textbox1 & "*") > 0 then
listbox1.additem application.vlookup("*" & textbox1 & "*", worksheets("Sheet1").range("B:B"), 1, false)
end if
end sub
とか。

dim res as range
set res = worksheets("Sheet1").range("B:B").find(what:=textbox1, lookin:=xlvalues, lookat:=xlpart, matchcase:=false)
if not res is nothing then
listbox1.additme res.value
end if
とか。
    • good
    • 3

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

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