源工作簿和目标工作簿的表格名称都不同,如何用VBA把源工作簿的第二个表格中的第二行复制到目标工作簿中的第二个表格中的第二行,第三行复制到目标工作簿的第三个表格中的第二行,并以此类推,直到最后一行
时间: 2024-03-07 12:47:30 浏览: 18
可以使用以下VBA代码实现:
```
Sub CopyDataToAnotherWorkbook()
Dim sourceWorkbook As Workbook
Dim targetWorkbook As Workbook
Dim sourceWorksheet As Worksheet
Dim targetWorksheet As Worksheet
Dim sourceRowCount As Long
Dim targetRowCount As Long
Dim i As Long
'打开源工作簿
Set sourceWorkbook = Workbooks.Open("C:\sourceWorkbook.xlsx")
'打开目标工作簿
Set targetWorkbook = Workbooks.Open("C:\targetWorkbook.xlsx")
'获取源工作簿的第二个表格和行数
Set sourceWorksheet = sourceWorkbook.Worksheets(2)
sourceRowCount = sourceWorksheet.Cells(Rows.Count, 1).End(xlUp).Row
'循环将源工作簿中的每一行复制到目标工作簿的对应表格中的第二行
For i = 2 To sourceRowCount
'获取目标工作簿中对应表格和行数
Set targetWorksheet = targetWorkbook.Worksheets(i - 1)
targetRowCount = targetWorksheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
'复制源工作簿中的数据到目标工作簿中
sourceWorksheet.Rows(i).Copy targetWorksheet.Rows(targetRowCount)
Next i
'关闭工作簿
sourceWorkbook.Close SaveChanges:=False
targetWorkbook.Close SaveChanges:=True
End Sub
```
请将代码中的`C:\sourceWorkbook.xlsx`和`C:\targetWorkbook.xlsx`替换为实际的源工作簿和目标工作簿的文件路径。此代码假定源工作簿的第二个表格是需要复制的表格,并且目标工作簿中有足够的表格来接收数据。