以下是一种实现这个任务的VBA代码:

Sub CopyData()
    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    Dim lastRow1 As Long
    Dim lastRow2 As Long
    Dim copyRange As Range
    
    ' 设置工作表对象
    Set ws1 = ThisWorkbook.Sheets("Sheet1")
    Set ws2 = ThisWorkbook.Sheets("Sheet2")
    
    ' 获取Sheet1和Sheet2的最后一行
    lastRow1 = ws1.Cells(Rows.Count, 1).End(xlUp).Row
    lastRow2 = ws2.Cells(Rows.Count, 1).End(xlUp).Row
    
    ' 检查Sheet2是否有足够的行数
    If lastRow2 < 200 Then
        MsgBox "Sheet2中的数据不足200行"
        Exit Sub
    End If
    
    ' 设置要复制的数据范围
    Set copyRange = ws2.Range("A" & lastRow2 - 199 & ":Z" & lastRow2)
    
    ' 将数据复制到Sheet1的第100行之后
    copyRange.Copy ws1.Cells(lastRow1 + 100, 1)
    
    ' 清理剪贴板
    Application.CutCopyMode = False
    
    ' 释放对象
    Set copyRange = Nothing
    Set ws1 = Nothing
    Set ws2 = Nothing
    
    MsgBox "数据已成功复制到Sheet1中"
End Sub

请注意,该代码假设Sheet1和Sheet2是工作簿中的表单名称。如果你的表单名称不同,请相应地修改代码中的表单名称。

此代码将复制Sheet2中的最后200行数据,从列A到列Z,然后将其粘贴到Sheet1的第100行之后。在复制和粘贴数据之后,代码还清理了剪贴板,释放了对象,并显示了一条消息框以确认操作已成功完成

在excel中用vba将sheet2最后200行数据复制到sheet1第100行之后

原文地址: https://www.cveoy.top/t/topic/hKIm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录