在excel中用vba将sheet2最后200行数据复制到sheet1第100行之后
以下是一种实现这个任务的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行之后。在复制和粘贴数据之后,代码还清理了剪贴板,释放了对象,并显示了一条消息框以确认操作已成功完成
原文地址: https://www.cveoy.top/t/topic/hKIm 著作权归作者所有。请勿转载和采集!