多语言展示
当前在线:879今日阅读:2今日分享:31

如何应用VBA代码进行分类汇总?

对单元格中的数据进行分类汇总,除利用“数据”菜单下的“分类汇总”外,我们可以应用VBA代码编程进行分类汇总,这样汇总出的数据更完整,更直观!
工具/原料
1

电脑壹台

2

OFFICE办公软件

方法/步骤
1

对表格中的数据进行分类汇总,利用VBA分类汇总的效果如图所示。

2

在工作表中,点击菜单栏【开发工具】,在其工具栏内,点击【visual basic】!

3

进入VBA编辑界面!点击菜单栏【插入】,在其下拉菜单中,选择【模块】!

4

会弹出模块编辑窗口!

5

在代码编辑窗口输入以下代码:Set d = CreateObject('scripting.dictionary')Set d1 = CreateObject('scripting.dictionary')Set d2 = CreateObject('scripting.dictionary')Set d3 = CreateObject('scripting.dictionary')On Error Resume Nextarr = Range('b3', Cells(Rows.Count, 'f').End(xlUp))For i = 1 To UBound(arr, 1)  d.Add arr(i, 1), arr(i, 2)  d1.Add arr(i, 1), arr(i, 3)  d2.Add arr(i, 1), arr(i, 4)  d3(arr(i, 1)) = d3(arr(i, 1)) + arr(i, 5)NextSheets('汇总').[b3].Resize(d.Count) = Application.Transpose(d.keys)Sheets('汇总').[c3].Resize(d.Count) = Application.Transpose(d.items)Sheets('汇总').[d3].Resize(d1.Count) = Application.Transpose(d1.items)Sheets('汇总').[e3].Resize(d2.Count) = Application.Transpose(d2.items)Sheets('汇总').[f3].Resize(d3.Count) = Application.Transpose(d3.items)For j = 1 To d.Count - 1  Sheets('汇总').Cells(j + 2, 1) = jNextSheets('汇总').UsedRange.HorizontalAlignment = xlCenterSheets('汇总').UsedRange.Borders.LineStyle = 6End Sub

6

在“开发工具”菜单下,点击“插入”按钮!

7

在其下拉菜单中,点击插入“表单控件”,并命名为“分类汇总”!

8

将【分类汇总】按钮与编写代码程序相关联!

9

点击运行“分类汇总”控件,便可以快速对数据进行分类汇总求和!

推荐信息