用VBA将目标工作簿中从第二个sheet开始,所有sheet的第二行的数据依次复制到源工作簿中的第二个sheet中,按顺序往下排列,依次类推,第N行的数据就依次复制到源工作簿的第N个sheet中
时间: 2024-03-06 21:48:19 浏览: 135
您好!感谢您对我提出问题。根据您的需求,我可以提供以下VBA代码:
```
Sub CopyDataToNewSheets()
Dim targetWB As Workbook
Dim sourceWB As Workbook
Dim targetSheet As Worksheet
Dim sourceSheet As Worksheet
Dim lastRow As Long
Dim i As Long
Dim j As Long
Set targetWB = ThisWorkbook '设置目标工作簿为当前工作簿
Set targetSheet = targetWB.Sheets(2) '设置目标工作簿的第二个sheet为起始sheet
'打开目标工作簿
Set sourceWB = Workbooks.Open("目标工作簿的路径")
'循环遍历目标工作簿中的所有sheet
For i = 2 To sourceWB.Sheets.Count
Set sourceSheet = sourceWB.Sheets(i)
lastRow = sourceSheet.Cells(Rows.Count, 2).End(xlUp).Row '获取最后一行的行号
'循环遍历目标sheet的第二行至最后一行
For j = 2 To lastRow
'将目标sheet的第二行至最后一行的数据复制到源工作簿的当前sheet中
sourceSheet.Rows(j).Copy targetSheet.Rows(j)
Next j
'设置下一个目标sheet为当前sheet的下一个sheet
Set targetSheet = targetWB.Sheets(targetSheet.Index + 1)
Next i
'关闭目标工作簿
sourceWB.Close SaveChanges:=False
MsgBox "数据已成功复制到源工作簿中。"
End Sub
```
请将代码中的“目标工作簿的路径”替换为您实际的目标工作簿的路径,然后运行代码即可实现将目标工作簿中从第二个sheet开始,所有sheet的第二行的数据依次复制到源工作簿中的第二个sheet中,按顺序往下排列,依次类推,第N行的数据就依次复制到源工作簿的第N个sheet中。
阅读全文