2017年1月5日 星期四

VBA,如何跨工作表,複製貼上


Worksheets("Sheet1").Range("A1:D4").Copy _
    destination:=Worksheets("Sheet2").Range("E5")


深入學習:
https://msdn.microsoft.com/zh-tw/library/office/ff837760.aspx


範例程式碼提供:Bill JelenMrExcel.com
下列程式碼範例會檢查 Sheet1 中每個資料列的欄位 D 中的值。
如果欄位 D 中的值等於 "A",則整列複製到 SheetA 的下一個空白資料列。
如果值等於 "B",則會複製到 SheetB

VBA

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




沒有留言:

張貼留言