アプリ版:「スタンプのみでお礼する」機能のリリースについて

ユーザーフォームにTextbox、検索ボタン、Listboxを配置しました。
Textboxに「E列」の大分類(例:「35」)を入力して、検索ボタンを押すと、「35」のレコードのA列とB列だけListboxに反映させるようにしたいです。
皆さん、教えて下さい!宜しくお願いします。

 A列     B列    C列      D列    E列
商品コード/商品名/仕入先コード/仕入先名/大分類
123456 りんご 011 AAA 35
456789 ばなな 012 BBB 35
234567    テーブル  013 CCC 23

A 回答 (2件)

元データはSheet1にあるとして



private sub CommandButton1_Click()
 dim r as long
 if me.textbox1 = "" then exit sub
 me.listbox1.clear
 me.listbox1.columncount = 2

 with worksheets("Sheet1")
 for r = 2 To .range("E65536").end(xlUp).row
  if cstr(.cells(r, "E").value) = me.textbox1.value then
   me.listbox1.additem .cells(r, "A").value
   me.listbox1.list(me.listbox1.listcount - 1, 1) = .cells(r, "B").value
  end if
 next r
 end with
end sub

ぐらいで,逐一追加していくのが一番簡単かと思います。
    • good
    • 1
この回答へのお礼

keithinさん
教えて頂いたコードでやってみましたら、思う通り出来ました!
大変助かりました!
どうもありがとうございました!

お礼日時:2014/03/24 17:06

http://okwave.jp/qa/q8423348.html
オートフィルターをフォーム(VBA)で表現

そのデータにオートフィルターをかけます。
そして、TextBoxに入れたデータで絞り込み
1行しか表示されなかったら、「検索データはありません。」
2行以上表示された場合は、表示されているデータを
抽出し、リストボックス?に反映。

という方法が良いかと思います!
やり方は少し忘れてしまったので、検索かけてみますね。
質問者さんも少しずつ考えてみてください。
データ絞り込みまでは出来るかと思いますよ^^
    • good
    • 0
この回答へのお礼

satoron666さん、どうもありがとうございます!
いろんなとこから検索をかけて、下記コードでやってみたところ、A列の商品コードとE列の大分類しかリストボックスに反映できなくて、どこがダメか分からなくて、困ってます。

Sub cmdIDSearch_Click()
Dim daibunnrui As Range
Dim c As String

With Worksheets("商品CD").Columns(5)
Set daibunnrui = .Find( _
what:=txtIDSearch.Value, _
LookIn:=xlValues, _
lookat:=xlPart, _
MatchByte:=False)

If daibunnrui Is Nothing Then
MsgBox "対象存在しません。", _
vbOKOnly + vbInformation, "検索"
Else
IDListBox.Clear
c = daibunnrui.Address
Do
'検索にヒットしたセルの値を取得
With IDListBox
.AddItem daibunnrui.Offset(, -4).Value
.Column(1, .ListCount - 1) = daibunnrui.Value
End With
Set daibunnrui = .FindNext(daibunnrui)
Loop Until daibunnrui.Address = c
End If
End With
End Sub

お礼日時:2014/03/24 16:57

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