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

我有一个名为“主”的工作表上的数据,我试图有条件地复制每一行到一个名为“自动”的工作簿,基于是否原来的行在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 

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

看起来你只是想在列A中find“Hire”这个词,然后把这行粘贴到另一个表格中。

这可能对你更好。

 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