VBA 将行从一个工作表复制到另一个(语法错误?)

VBA Copy Rows from One worksheet to Another (Syntax error?)

我在一个名为 "Master" 的工作表上有数据,我试图根据原始行是否在列中包含 "Hire" 有条件地将每一行复制到名为 "Auto" 的工作簿A.

Sub Macro2()
Dim lr As Long, lr2 As Long, r As Long
lr = Sheets("Master").Cells(Rows.Count, "A").End(xlUp).Row
lr2 = Sheets("AUTO").Cells(Rows.Count, "A").End(xlUp).Row

    For r = lr To 2 Step -1
        Select Case Range("A" & r).Value
           Case Is = "Hire"
           Rows(r).Copy Destination:=Sheets("AUTO").Range("A" & lr2 + 1)
            lr2 = Sheets("AUTO").Cells(Rows.Count, "A").End(xlUp).Row
        End Select
    Next r
End Sub

但是,当我 运行 宏时,它不会填充第二个工作表。

您似乎只是想在 A 列中找到单词 "Hire" 并将该行粘贴到另一个 sheet。

这可能更适合你。

Sub Button1_Click()
    Dim sh As Worksheet, ws As Worksheet
    Dim rws As Long, rng As Range, c As Range

    Set ws = Worksheets("AUTO")
    Set sh = Worksheets("Master")

    With sh
        rws = .Cells(Rows.Count, "A").End(xlUp).Row
        Set rng = .Range(.Cells(1, 1), .Cells(rws, 1))
    End With

    For Each c In rng.Cells
        If c = "Hire" Then
            c.EntireRow.Copy Destination:=ws.Cells(Rows.Count, "A").End(xlUp).Offset(1)
        End If
    Next c

End Sub