VBA多工作簿中多工作表分类汇总

本文介绍了如何使用VBA在办公自动化中实现一个功能:将同一文件夹下所有工作簿的多个表单数据汇总到一个新的单一工作表中。通过详细步骤和完整代码展示操作流程,包括获取所有工作簿、合并数据到汇总表以及清理工作簿等关键步骤。

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

应用背景:

将某一文件夹下所有工作簿中的多张表单汇总到一个工作薄中的一张表单中

最终效果:

步骤流程:

 

完整代码:

=========================================================================

 1、汇总当前文件夹下所有工作簿中所有sheets

=========================================================================

Sub CopyShe
VBA (Visual Basic for Applications) 中,你可以通过宏来实现根据不同字段的内容对Excel工作表数据进行分类汇总。以下是一个简单的步骤概述: 1. **打开宏录制**:开始一个新的Excel工作簿,或者在现有工作簿中按 `Alt + F8` 打开 Visual Basic Editor (VBE),然后选择 "插入" -> "模块" 来创建一个新模块用于编写VBA代码。 2. **设置变量和范围**:在新的模块中,声明需要操作的工作表名称、需要分类的关键字段名以及汇总目标区域。例如: ```vba Dim ws As Worksheet ' 工作表对象 Dim dataRange As Range ' 数据范围 Dim categoryField As String ' 分类字段名 Dim targetSheet As Worksheet ' 汇总结果工作表 Dim targetRange As Range ' 汇总目标区域 ``` 3. **遍历工作表并读取数据**:假设你想遍历名为 "Sheet1", "Sheet2" 的工作表,找到特定字段如 "ColumnA": ```vba Set ws = ThisWorkbook.Worksheets("Sheet1") dataRange = ws.Range("A1:B100") ' 示例数据范围,根据实际调整 categoryField = "A" ' 类别字段所在列 ' 添加循环遍历其他工作表 For Each ws In ThisWorkbook.Worksheets If ws.Name <> "Sheet1" Then Set dataRange = ws.Range(categoryField & "1:" & categoryField & "100") ' 对每个工作表处理 End If Next ws ``` 4. **基于分类字段分组和汇总**:使用 `Application.WorksheetFunction.Group` 函数根据分类字段进行分组,然后计算每个组的汇总值: ```vba targetSheet = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) ' 创建新的汇总工作表 Set targetRange = targetSheet.Cells(1, 1) For Each group In dataRange.Group Dim groupName As String groupName = group Header:=xlYes ' 获取分类字段的值作为组名 ' 计算组内的求和或其他汇总操作 Dim sumVal As Double sumVal = Application.WorksheetFunction.Sum(group) targetRange.Value = groupName & ": " & sumVal Set targetRange = targetRange.Offset(1, 0) ' 移动到下一行 Next group ``` 5. **关闭记录并运行宏**:记得在宏结尾添加 `End Sub` 关闭宏,并双击宏名或者选择 "Run" 来执行它。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值