接着昨天的,把多个工作薄汇总的数据分类汇总,谠骀魍埭主要是按订单号,颜色,厚度来分类汇总,计算板材的平方数。今天不再使用加载宏,使用新的方法,在工作表立面使用按钮。
工具/原料
Excel
电脑
方法/步骤
1、第一步,在工作表内添加按钮,单击然后再工作表内话一个带下合适的按钮。然后如下图选择自己喜欢的颜色。
2、第二步,在按钮中右键添加文字,然后全选文字居中,修改文字大小。
3、第三步,写代码,老规矩,代码内已经写了注释。Sub分类汇总()'欢迎转载文章及关画陲奴颁注微信公众号-ExcelVBA自动办公免费实例与定制'作者-无知不自由'稆糨孝汶;**************************************************************'定义一个数组变量DimarrDimrsAsInteger'获取汇总数据的最后一行rs=Sheets("汇总").Cells(Rows.Count,4).End(xlUp).Row'将数据存放到数组arr=Sheets("汇总").Range("a4:p"&rs)'获取'wjwz=ActiveWorkbook.Path'pch1=Split(wjwz,"\")'pch=pch1(UBound(pch1))DimARR1(57,3)'创建一个字典对象Setd=CreateObject("Scripting.Dictionary")'UBound(arr)即是求取数组的行数(按表格行列来理解)Fori=1ToUBound(arr)'获取订单号ddh=arr(i,1)Ifddh<>""Then'获取颜色,厚度ys=arr(i,6)&"mm_"&arr(i,10)'计算板材平方数pfs=arr(i,4)*arr(i,5)*arr(i,7)/1000000'将分类汇总的条件合并aa=ddh&"-"&ys'判断字典内是否有此关键字Ifd.Exists(aa)Then'将板材平方数与对应的订单号,颜色相加汇总d.Item(aa)=d.Item(aa)+pfspfs1=d.Item(aa)Elsen=n+1'将关键字存入字典内d.Addaa,pfsEndIfEndIfNext'获取最后一行HS1=Sheets("分类汇总").Cells(Rows.Count,4).End(xlUp).Row+1'将字典粘贴到工作表aa=d.KeysFork=0Tod.Count-1SZ=Split(aa(k),"-")Sheets("分类汇总").Range("A"&k+1)=SZ(0)Sheets("分类汇总").Range("B"&k+1)=SZ(1)NextSheets("分类汇总").[C1].Resize(d.Count,1)=Application.Transpose(d.items)EndSub
4、第四步,在按钮中右键,选择-指定宏,并在弹出的对话框选择-分类汇总,最后点击确定。
5、最后大功告成。想了解到其他的更好的的实例如自动将单元格内容生成图片,制作加载宏让你的程序方便快速在任意电脑使用。