找到与关键字匹配的每一行,然后粘贴找到的所有行

时间:2019-10-24 15:27:53

标签: excel vba

我试图每次在一个范围内找到一个人的名字时,然后复制并粘贴该范围。我的代码仅在第一次找到一个人的名字时起作用,并且仅复制该行,而不是他们所在的所有行。请让我知道如何编辑我的代码以解决此问题。

Private Sub CommandButton1_Click()

    Dim myValue As String
    myEmp = InputBox("Search for an employee by last name")
    ActiveSheet.Range("B2").Value = myEmp

    Dim lastrow As Long
    lastrow = Worksheets("Employee Reports").Range("A65536").End(xlUp).Row

    With Sheet7
        Dim rw As Range
        Set rw = .Range("B:B").Find(What:=myEmp, After:=.Range("B1"), _
        LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _
        SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)

        If Not rw Is Nothing Then
            rw.EntireRow.Copy Worksheets("Employee Reports").Cells(5, 1)
        Else
            MsgBox myEmp & "Employee Not Found"
        End If
    End With
End Sub

1 个答案:

答案 0 :(得分:0)

尝试一下。标准的方式已经很好地记录了下来,它是存储第一个找到的单元格的地址,然后继续寻找下一个实例,直到您返回原始地址为止。

myLastName