将日期复制到新工作表中的下一个单元格

时间:2019-09-16 16:59:48

标签: excel vba

在下面的这段代码中苦苦挣扎。

我想要实现的是我有一个采购订单表格,当生成该表格时,我希望能够将某些单元格复制到另一张纸上的采购订单日志中。

当前我有此代码

Sub Range_PasteSpecial_Values1()

    Worksheets("Sheet1").Range("A1").Copy
    Worksheets("Sheet2").Range("A10").PasteSpecial Paste:=xlPasteValues

    Worksheets("Sheet1").Range("B1").Copy
    Worksheets("Sheet2").Range("B10").PasteSpecial Paste:=xlPasteValues

    Worksheets("Sheet1").Range("C1").Copy
    Worksheets("Sheet2").Range("C10").PasteSpecial Paste:=xlPasteValues

    Worksheets("Sheet1").Range("D1").Copy
    Worksheets("Sheet2").Range("D10").PasteSpecial Paste:=xlPasteValues

    Worksheets("Sheet1").Range("E1").Copy
    Worksheets("Sheet2").Range("E10").PasteSpecial Paste:=xlPasteValues

    Worksheets("Sheet1").Range("F1").Copy
    Worksheets("Sheet2").Range("F10").PasteSpecial Paste:=xlPasteValues

End Sub

这是可行的,但确实将这些单元格复制到我的采购订单日志下面的行中。

希望这很清楚,感谢您的帮助

Public Sub CopyRows() 
    Sheets("Sheet1").Select 
    ' Find the last row of data 
    FinalRow = Cells(Rows.Count, 1).End(xlUp).Row 
    ' Loop through each row 
    For x = 2 To FinalRow 
        ' Decide if to copy based on column D 
        ThisValue = Cells(x, 4).Value 
        If ThisValue = "A" Then 
            Cells(x, 1).Resize(1, 33).Copy 
            Sheets("SheetA").Select 
            NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1 
            Cells(NextRow, 1).Select 
            ActiveSheet.Paste 
            Sheets("Sheet1").Select 
        ElseIf ThisValue = "B" Then 
            Cells(x, 1).Resize(1, 33).Copy 
            Sheets("SheetB").Select 
            NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1 
            Cells(NextRow, 1).Select 
            ActiveSheet.Paste 
            Sheets("Sheet1").Select 
        End If 
    Next x 
End Sub

0 个答案:

没有答案