同一工作簿中多个工作表数据批量处理
在工作中经常会遇到一个工作簿内包含多个相同格式、相同布局的数据区域,最后需要对每个工作表进行求和操作。手工挨个点击显然是不可取的,下面介绍一种方便快捷的方法。
操作方法
- 01
检查EXCEL数据区域,确保每个工作表格式、数据分布位置一致。如果分布不一致要对数据位置进行调整。
- 02
将文件另存为xlsm格式。 这是因为本操作需要用到VBA函数,xls、xlsx等格式无法保存VBA函数。
- 03
打开上一步保存的xlsm文件,观察工具栏是否有”开发工具“,如果没有要在EXCEL选项中勾选。
- 04
回到EXCEL主界面,点击”开发工具“下的Visual Basic选项进入代码编写界面。 也可以使用ALT和F11快捷方式直接调出代码编写界面。
- 05
输入如下代码: Option Explicit Sub test() Dim w1 As Worksheet Dim i, j, s For i = 1 To Worksheets.Count Set w1 = Worksheets(i) s = 0 For j = 2 To 10 s = s + w1.Cells(j, 2) Next j w1.Cells(2, 3) = s Next i End Sub 这段代码套用了两个FOR循环语句,小循环是对某一个工作表进行汇总,大循环是逐个处理工作簿中的所有工作表。
- 06
保存代码,回到主页面。在开发工具中点击插入窗体控件,并将宏指定为第5步保存的代码。
- 07
可以根据需要决定是否需要更改窗体控件名称。 此处修改为“汇总”。
- 08
点击“汇总”按钮,可以看到结果自动填充到了每个工作表的C2单元格中。
赞 (0)