2016-09-03 5 views
-1

私は2枚のExcelシートを持っています。検索VBAを使用して異なる数量のエクセルでのアイテム

第1のシートは、item code,item nameおよびそのquantityDATAシート)を含む。数量は各エントリごとに異なります。 2枚目

DATA SHEET

私は1つのテキストボックスと検索ボタンがあります。

DATA SHEET

私はtextbox1にいくつかのアイテムコードを入力して、検索にヒットしたとき、私はそれぞれc8,c9,c10search sheet表示の詳細に示されるそのコードに対応である第一のシートからのすべてのデータを必要とします。

+0

してください、精巧な、何よがあり、まさにあなたがachiveしたいですか?また、何を試してみるのもいいですね。 – gofr1

+0

あなたのメールIDを教えてください。 – shabin

+0

このスクリーンショットはあなたの質問を理解するのに十分なものです。 – gofr1

答えて

0

同様のExcelファイルを作成します。

enter image description here

ボタンのVBAコード、説明と::私のSEARCH SHEETはこのようになります

Sub Button_Click() 

    'Declare the variables 
    Dim DataSheet As Worksheet 
    Dim SearchSheet As Worksheet 
    Dim SearchRange As Range 
    Dim rCell As Range 
    Dim i As Long 

    'Set the variables 
    Set DataSheet = ThisWorkbook.Sheets("DATA") 
    Set SearchSheet = ThisWorkbook.Sheets("SEARCH SHEET") 

    'Clear content of search sheet 
    SearchSheet.Cells.Range(SearchSheet.Cells(2, 1), SearchSheet.Cells(Rows.Count, 3)).ClearContents 

    'I went from the cell row2/column1 and go down until the last non empty cell 
    Set SearchRange = DataSheet.Range(DataSheet.Cells(2, 1), DataSheet.Cells(Rows.Count, 1).End(xlUp)) 

    i = 1 

    For Each rCell In SearchRange 'loop through each cell in the range 

     'Check if the cell is equal to value of TextBox1 
     If rCell.Text = ActiveSheet.OLEObjects("TextBox1").Object.Text Then 
      i = i + 1 'Row number +1 everytime when occurance is found 
      SearchSheet.Cells(i, 1) = rCell.Offset(0, 0) 'ITEM CODE 
      SearchSheet.Cells(i, 2) = rCell.Offset(0, 1) 'ITEM NAME 
      SearchSheet.Cells(i, 3) = rCell.Offset(0, 2) 'QUANTITY 
     End If 

    Next rCell 
End Sub 
+0

あなたのクイックヘルプのために大変ありがとうございます – shabin

+0

高度な検索はループより速くなると思いませんか? –

+0

@ScottCraner詳細検索ではどういう意味ですか?私はあまりExcel VBAに精通していないので、いくつかの指針を付けるとうれしいでしょう。 – gofr1

関連する問題