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

时间:2015-01-27 20:14:39

标签: excel vba excel-vba

我有一个名为" Master"我试图有条件地将每一行复制到一个名为" 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

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

1 个答案:

答案 0 :(得分:1)

看起来你只是想在A栏中找到“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