如何用VBA把源工作簿的第二个表格中的第二行复制到目标工作簿中的第二个表格中的第二行,第三行复制到目标工作簿的第三个表格中的第二行,并以此类推,直到最后一行
时间: 2024-03-07 16:47:23 浏览: 75
你可以使用以下代码来实现:
```
Sub CopyRowsToAnotherWorkbook()
Dim sourceWorkbook As Workbook
Dim targetWorkbook As Workbook
Dim sourceWorksheet As Worksheet
Dim targetWorksheet As Worksheet
Dim lastRow As Long
Dim currentRow As Long
'打开源工作簿
Set sourceWorkbook = Workbooks.Open("sourceWorkbook.xlsx")
'打开目标工作簿
Set targetWorkbook = Workbooks.Open("targetWorkbook.xlsx")
'循环源工作簿中所有表格
For Each sourceWorksheet In sourceWorkbook.Worksheets
'获取目标工作簿中与源工作簿中同名的表格
Set targetWorksheet = targetWorkbook.Worksheets(sourceWorksheet.Name)
'获取源工作簿表格中最后一行
lastRow = sourceWorksheet.Cells(sourceWorksheet.Rows.Count, 1).End(xlUp).Row
'循环源工作簿中所有行,并将其复制到目标工作簿中相应的行
For currentRow = 2 To lastRow
sourceWorksheet.Rows(currentRow).Copy targetWorksheet.Rows(currentRow - 1)
Next currentRow
Next sourceWorksheet
'关闭工作簿
sourceWorkbook.Close savechanges:=False
targetWorkbook.Close savechanges:=True
MsgBox "数据已成功复制到目标工作簿中!"
End Sub
```
在这段代码中,你需要将 `sourceWorkbook.xlsx` 和 `targetWorkbook.xlsx` 替换为源工作簿和目标工作簿的文件名。此外,请确保源工作簿和目标工作簿中的表格名称相同。
阅读全文