VBA - 如何将 Excel 中的行从一个工作簿复制到另一个工作簿

作者:编程家 分类: vba 时间:2025-08-20

VBA - 如何将 Excel 中的行从一个工作簿复制到另一个工作簿?

在 Excel 中,有时我们需要将一个工作簿中的行复制到另一个工作簿中。这可以通过使用 VBA(Visual Basic for Applications)来实现。VBA 是一种用于自动化任务的编程语言,可以在 Excel 中进行宏编程。下面将介绍如何使用 VBA 将 Excel 中的行从一个工作簿复制到另一个工作簿,并提供一个案例代码供参考。

案例代码:

vba

Sub CopyRowsBetweenWorkbooks()

Dim sourceWorkbook As Workbook

Dim targetWorkbook As Workbook

Dim sourceWorksheet As Worksheet

Dim targetWorksheet As Worksheet

Dim sourceRow As Range

Dim targetRow As Range

' 打开源工作簿

Set sourceWorkbook = Workbooks.Open("路径\源工作簿.xlsx")

' 打开目标工作簿

Set targetWorkbook = Workbooks.Open("路径\目标工作簿.xlsx")

' 设置源工作表和目标工作表

Set sourceWorksheet = sourceWorkbook.Worksheets("源工作表")

Set targetWorksheet = targetWorkbook.Worksheets("目标工作表")

' 循环遍历源工作表的每一行

For Each sourceRow In sourceWorksheet.UsedRange.Rows

' 在目标工作表的最后一行后插入新行

Set targetRow = targetWorksheet.Cells(targetWorksheet.Rows.Count, 1).End(xlUp).Offset(1)

' 将源行的值复制到目标行

sourceRow.Copy targetRow

Next sourceRow

' 保存并关闭工作簿

sourceWorkbook.Close SaveChanges:=False

targetWorkbook.Close SaveChanges:=True

End Sub

步骤解释:

以下是使用 VBA 将 Excel 中的行从一个工作簿复制到另一个工作簿的详细步骤:

1. 首先,在 VBA 编辑器中创建一个新的模块。

2. 在模块中编写上述案例代码。

3. 替换代码中的路径\源工作簿.xlsx和路径\目标工作簿.xlsx为实际的源工作簿和目标工作簿的文件路径。

4. 替换代码中的"源工作表"和"目标工作表"为实际的源工作表和目标工作表的名称。

5. 运行宏,代码将打开源工作簿和目标工作簿,并将源工作表中的每一行复制到目标工作表的最后一行后。

6. 最后,保存并关闭工作簿。

注意事项:

- 在运行宏之前,请确保源工作簿和目标工作簿已存在,并且路径和名称正确。

- 如果源工作簿和目标工作簿中的工作表名称不同,需要相应地修改代码中的工作表名称。

- 代码中的"路径\源工作簿.xlsx"和"路径\目标工作簿.xlsx"中的路径可以是相对路径或绝对路径,根据实际情况进行调整。

通过使用 VBA,我们可以轻松地将 Excel 中的行从一个工作簿复制到另一个工作簿。以上提供的案例代码可以作为参考,根据实际需求进行修改和调整。VBA 的强大功能可以帮助我们自动化处理 Excel 中的各种任务,提高工作效率。希望本文对您理解如何使用 VBA 复制行到另一个工作簿有所帮助。