同一工作簿中多个工作表数据批量处理

作者:滴水穿石 | 创建时间: 2023-06-13
在工作中经常会遇到一个工作簿内包含多个相同格式、相同布局的数据区域,最后需要对每个工作表进行求和操作。手工挨个点击显然是不可取的,下面介绍一种方便快捷的方法。...
同一工作簿中多个工作表数据批量处理

操作方法

检查EXCEL数据区域,确保每个工作表格式、数据分布位置一致。如果分布不一致要对数据位置进行调整。

将文件另存为xlsm格式。 这是因为本操作需要用到VBA函数,xls、xlsx等格式无法保存VBA函数。

打开上一步保存的xlsm文件,观察工具栏是否有”开发工具“,如果没有要在EXCEL选项中勾选。

回到EXCEL主界面,点击”开发工具“下的Visual Basic选项进入代码编写界面。 也可以使用ALT和F11快捷方式直接调出代码编写界面。

输入如下代码: 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循环语句,小循环是对某一个工作表进行汇总,大循环是逐个处理工作簿中的所有工作表。

保存代码,回到主页面。在开发工具中点击插入窗体控件,并将宏指定为第5步保存的代码。

可以根据需要决定是否需要更改窗体控件名称。 此处修改为“汇总”。

点击“汇总”按钮,可以看到结果自动填充到了每个工作表的C2单元格中。

温馨提示

要确保每个工作簿数据区域保持一致,否则无法运行。
自定义变量s应置于第一个FOR循环内,如果置于外部计算结果是错误的。
点击展开全文

更多推荐