用VBA将多个Excel文件里的数据汇总到一个Excel表

本文介绍了一种使用VBA宏编程的方式,自动批量合并指定文件夹内多个Excel文件中的数据到一个汇总表中。该方法通过遍历指定路径下的所有Excel文件,逐个打开并读取关键字段的数据,然后按照预设的格式写入到汇总表中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    现要求:给出一个空汇总表,给出若干单独的Excel文件,每个文件里头有一个表格里存有一个人的信息,要将这些文件里的信息全部对应地导入到汇总表里.

    以前写的,也不给实际例子了,直接上代码,逻辑不复杂,看看就明白.记在这里备以后查.

VBA中,你可以使用`Range`, `Application.WorksheetFunction`以及循环结构(如For...Each)来从多个Excel工作的特定区域提取数据汇总一个新的工作簿中。以下是一个基本的示例代码: ```vba Sub ExtractAndSumData() Dim ws As Worksheet Dim sourceSheetRange As Range Dim targetSheet As Worksheet Dim data As Variant Dim i As Long Dim newWorkbook As Workbook ' 创建新的工作簿 Set newWorkbook = Workbooks.Add ' 遍历源工作簿中的每个工作 For Each ws In ThisWorkbook.Worksheets If ws.Name = "Sheet1" ' 假设你想提取的是名为"Sheet1"的工作 ' 设置源区域范围 Set sourceSheetRange = ws.Range("A1:B10") ' 假设你想提取A1到B10的单元格 ' 提取数据 data = sourceSheetRange.Value ' 将数据复制到新工作簿的新工作 Set targetSheet = newWorkbook.Sheets.Add(After:=newWorkbook.Sheets(newWorkbook.Sheets.Count)) targetSheet.Cells(1, 1).Resize(sourceSheetRange.Rows.Count, sourceSheetRange.Columns.Count) = data End If Next ws ' 对数据进行汇总操作(这假设是对所有数据求和) targetSheet.Range("C1").Value = Application.WorksheetFunction.Sum(targetSheet.UsedRange) ' 提交更改并关闭新工作簿 newWorkbook.SaveAs Filename:="NewData.xlsx" ' 替换为你想要保存的文件名 newWorkbook.Close SaveChanges:=True End Sub ``` 请注意,你需要根据实际情况调整`ws.Name`, `sourceSheetRange`, 和其他的列范围。这个例子假设你是在每张工作的A1:B10区域进行数据提取,并将结果汇总到新工作的C1单元格。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值