如何将最后50个数据点从主Excel工作表自动复制到另一个Excel工作表

时间:2014-10-01 20:10:09

标签: excel

我有一个有5列(B12到F12)和500 +(行)数据点的杰作表。如何将最后50个数据点自动复制到另一个工作表。

1 个答案:

答案 0 :(得分:0)

在VBA中,对此示例有以下假设:

您的数据位于Sheet1,从B12开始

从B12开始,您提取的数据集将复制到Sheet2

如果数据行少于50行,则复制所有行

您可以配置这些参数。

Sub CopyLast50()

Dim lRow As Long, sRow As Long
Dim lCol As Long, sCol As Long
Dim numRows As Long

'Configure these parameters
lCol = 6
sCol = 2
sRow = 12
numRows = 50

    With Sheets("Sheet1")
        lRow = .Cells(Rows.Count, sCol).End(xlUp).Row
            If sRow + lRow >= numRows Then
                .Range(.Cells(lRow, sCol).Offset(-(numRows - 1), 0), .Cells(lRow, lCol)).Copy _
                Destination:=Sheets("Sheet2").Cells(sRow, sCol)
            Else
                .Range(.Cells(sRow, sCol), .Cells(lRow, lCol)).Copy _
                Destination:=Sheets("Sheet2").Cells(sRow, sCol)
            End If
    End With

End Sub

请花些时间阅读本网站的旅行,可以在帮助下找到。