在vba中搜索并选择多个单元格

时间:2016-06-30 19:28:00

标签: vba excel-vba access-vba excel

我正在尝试使用userforum搜索特定关键字并选择包含该信息的所有单元格,并将整行复制并粘贴到另一个工作表中。到目前为止,我只知道如何一次选择一个单元格/行。这就是我到目前为止所拥有的。

Private Sub CommandButton1_Click()
    Cells.Find(What:=searchbox1.Text, After:=Range("A1"), LookIn:=xlFormulas, _
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:= True, SearchFormat:=False).Activate
    ActiveCell.EntireRow.Select
    Selection.Copy
    sheets(2).activate

1 个答案:

答案 0 :(得分:0)

除非您尝试过滤掉数百行中的100个,否则一个简单的循环将执行与查找相同的工作。

将此代码调整到您的工作簿,它会遍历您要针对textbox进行测试的范围,并将每个匹配项复制到您选择的范围内。

   Dim rng As Range
   Dim destRng As Range

   Set rng = Range("A1:A20")

  For Each r In rng
      If r.Value = searchbox1.Text Then
        If Not destRng Is Nothing Then
           Set destRng = Union(r.EntireRow, destRng)
        Else
           Set destRng = r.EntireRow
        End If
      End If
  Next r
      destRng.Copy sheets(2).Range("A1")