根据单元格值将数据从一页复制到另一页

Copying data from one page to another depending on cell value

当单词 'ordered' 在特定列中时,此代码将整行复制到另一行。

但是,我需要调整此代码以不为另一个函数复制整行,而只需要将列 A:J 复制到下一个 sheet,但我很难实现这一点。

Sub MovingOrderedItems()

    Dim xRg As Range
    Dim xCell As Range
    Dim X As Long
    Dim Y As Long
    Dim Z As Long
    X = Worksheets("Engineer-Items to be ordered").UsedRange.Rows.Count
    Y = Worksheets("Admin").UsedRange.Rows.Count
    If Y = 1 Then
       If Application.WorksheetFunction.CountA(Worksheets("Admin").UsedRange) = 0 Then Y = 0
    End If
    Set xRg = Worksheets("Engineer-Items to be ordered").Range("N3:N" & X)
    On Error Resume Next
    Application.ScreenUpdating = False
    For Z = 1 To xRg.Count
        If CStr(xRg(Z).Value) = "ordered" Then
            xRg(Z).EntireRow.Copy Destination:=Worksheets("Admin").Range("A" & Y + 1)
            xRg(Z).EntireRow.Delete
            If CStr(xRg(Z).Value) = "ordered" Then
                 Z = Z - 1
            End If
            Y = Y + 1
        End If
    Next
    Application.ScreenUpdating = True
End Sub

可能有更优雅的方法来执行此操作,但您可以替换

xRg(Z).EntireRow.Copy Destination:=Worksheets("Admin").Range("A" & Y + 1)

Range(xRg(Z).EntireRow.Cells(1, 1), xRg(Z).EntireRow.Cells(1, 10)).Copy Destination:=Worksheets("Admin").Range("A" & Y + 1)