将特定行复制到另一行 sheet 只是如果行包含一个值

copy specific rows to another sheet just if row contains a value

我想根据列 A 的值复制特定的列。

准确的说,我想把sheetA的A、C、D列复制到sheetB的B、C、D列。但只是 sheet A 的 A 列包含 AAAAA.

的一方

这个例子只是为了简化,实际上我有数百行,所以我需要一个必要的循环,在 sheet B 我想粘贴在 header 下:

我的 Excel sheet 看起来如何:
[][1

Sub COOPPYY()
    Dim N As Long, i As Long, j As Long, s As String
    Dim src As Worksheet
    Dim trg As Worksheet
    Dim LastRow As Long
    Dim c As Range

    N = Cells(Rows.Count, "B").End(xlUp).Row

    ' Change worksheet designations as needed
    Set src = ThisWorkbook.Worksheets("A")
    Set trg = ThisWorkbook.Worksheets("B")

    'For i = 1 To N
    'j = 1

    src.Range("A:A").Copy Destination:=trg.Range("B:B")
    src.Range("C:C").Copy Destination:=trg.Range("D:D")

    src.Range("D:D").Copy Destination:=trg.Range("C:C")
End Sub

第二个 sheet 我想复制的地方看起来如何:

像这样:

Sub CopyIt()

    Dim N As Long, i As Long, j As Long, s As String
    Dim src As Worksheet
    Dim trg As Worksheet

    Set src = ThisWorkbook.Worksheets("A")
    Set trg = ThisWorkbook.Worksheets("B")

    N = src.Cells(src.Rows.Count, "B").End(xlUp).Row
    j = trg.cells(rows.count, "B").End(xlUp).Row + 1

    For i = 1 To N
        With src.Rows(i)             
            If .cells(1).Value = "AAAAA" Then
                .cells(1).Copy trg.cells(j, "B")
                .cells(3).Resize(1,2).copy trg.cells(j, "C")
                j = j + 1 
            End If
         End With 
     Next i
End Sub