如何用vba把源工作簿所有sheet的第i行数据复制到目标工作簿的第i个sheet中
时间: 2024-03-14 22:43:00 浏览: 119
可以使用以下VBA代码实现将源工作簿所有sheet的第i行数据复制到目标工作簿的第i个sheet中:
```
Sub CopyDataToTargetWorkbook()
Dim sourceWorkbook As Workbook, targetWorkbook As Workbook
Dim i As Integer, lastRow As Long
'打开源工作簿
Set sourceWorkbook = Workbooks.Open("源工作簿路径")
'打开目标工作簿
Set targetWorkbook = Workbooks.Open("目标工作簿路径")
'循环所有sheet
For Each sourceSheet In sourceWorkbook.Sheets
'在目标工作簿中找到对应的sheet
Set targetSheet = targetWorkbook.Sheets(sourceSheet.Name)
'复制第i行数据
lastRow = targetSheet.Cells(Rows.Count, 1).End(xlUp).Row '获取目标sheet中最后一行的行号
For i = 1 To sourceSheet.Columns.Count
targetSheet.Cells(lastRow + 1, i).Value = sourceSheet.Cells(i, 1).Value
Next i
Next sourceSheet
'关闭工作簿
sourceWorkbook.Close
targetWorkbook.Close SaveChanges:=True
End Sub
```
其中,需要将代码中的“源工作簿路径”和“目标工作簿路径”替换为实际的文件路径。同时,需要根据实际需求修改复制的行数。
阅读全文