2014-01-19 28 views
0

我已同意在我的工作中幫助一些需要VBA知識的小型項目。我以前使用過SQL,我認爲VBA非常相似,但我一直在堅持。用於在兩個工作表中搜索文本數據的命令按鈕代碼,並將其複製/粘貼到第三個文件中

我需要一個命令按鈕的代碼來搜索文本框中指定的字符串/文本數據。它將搜索兩個工作表中列B中單元格中的數據,並將找到所需數據的整行復制並粘貼到第三個工作表。

搜索到的數據可以在每個工作表中記錄幾次,因此它必須循環搜索整個兩個工作表並複製並粘貼與搜索數據相關的所有信息。

工作表1和2(存儲數據)和工作表3(將數據粘貼到哪裏)中的標頭是相同的。存儲數據的兩個工作表的範圍是除A1:J1(標題)之外的整個工作表,第三個工作表中要粘貼範圍的數據爲A11:J1500。

+0

你嘗試過什麼了嗎?你能顯示一些代碼嗎? –

回答

0

這可能會幫助你開始:

Private Sub SearchButton_Click() 
    Dim searchTerm As String, rng1 As Range, rng2 As Range, searchRange As Range, cl As Range 

    Set rng1 = Worksheets("Sheet1").Range("B1:B" & Worksheets("Sheet1").Range("B2").End(xlDown).Row) 
    Set rng2 = Worksheets("Sheet2").Range("B1:B" & Worksheets("Sheet2").Range("B2").End(xlDown).Row) 

    searchTerm = Worksheets("Sheet1").TextBox.Text 

    searchAndCopy rng1, searchTerm 
    searchAndCopy rng2, searchTerm 

End Sub 

Private Sub searchAndCopy(searchRange As Range, searchTerm As String) 
    Dim nextRow As Long 

    nextRow = Worksheets("Sheet3").Range("A1").End(xlDown).Row + 1 

    For Each cl In searchRange 
     If cl = searchTerm Then 
      cl.EntireRow.Copy Destination:=Worksheets("Sheet3").Range("A" & nextRow) 
      nextRow = nextRow + 1 
     End If 
    Next cl 
End Sub 
相關問題