在Excel中,使用VBA可以方便地实现多工作簿的数据整合和汇总。以下是实现这一功能的详细步骤:
Alt + F11
打开VBA编辑器。Insert
菜单,然后选择 Module
,插入一个新的模块。 Sub ConsolidateData()
Dim FolderPath As String
Dim Filename As String
Dim wbSource As Workbook
Dim wsSource As Worksheet
Dim wsTarget As Worksheet
Dim LastRow As Long
Dim TargetRow As Long
' 定义包含数据工作簿的文件夹路径
FolderPath = "C:\Your\Folder\Path\" ' 替换为你的文件夹路径
Filename = Dir(FolderPath & "*.xls*")
' 设置目标工作表
Set wsTarget = ThisWorkbook.Sheets(1)
TargetRow = 1
' 循环遍历文件夹中的所有Excel文件
Do While Filename <> ""
Set wbSource = Workbooks.Open(FolderPath & Filename)
' 假设数据在第一个工作表中
Set wsSource = wbSource.Sheets(1)
' 找到源工作表的最后一行
LastRow = wsSource.Cells(wsSource.Rows.Count, "A").End(xlUp).Row
' 将源工作表的数据复制到目标工作表
wsSource.Range("A1:Z" & LastRow).Copy wsTarget.Range("A" & TargetRow)
' 更新目标行
TargetRow = TargetRow + LastRow
' 关闭源工作簿
wbSource.Close False
' 获取下一个文件
Filename = Dir
Loop
MsgBox "数据整合完成!"
End Sub
Alt + F8
打开宏对话框。ConsolidateData
,然后点击 Run
。Dir
函数获取文件夹中的第一个Excel文件。Dir
函数和 Do While
循环实现。FolderPath
的路径正确,并以反斜杠结尾。Set wsTarget = ThisWorkbook.Sheets(1)
中的索引。通过上述步骤和代码,可以轻松实现多工作簿的数据整合和汇总。如果有任何问题,请随时提问。