Excel VBA工作薄内容分类汇总

2025-04-10 18:33:12

1、第一步,在工作表内添加按钮,单击然后再工作表内话一个带下合适的按钮。然后如下图选择自己喜欢的颜色。

Excel VBA工作薄内容分类汇总
Excel VBA工作薄内容分类汇总

2、第二步,在按钮中右键添加文字,然后全选文字居中,修改文字大小。

Excel VBA工作薄内容分类汇总

3、第三步,写代码,老规矩,代码内已经写了注释。Sub 分类汇总()'欢迎转载文章及关画陲奴颁注微信公众号 -ExcelVBA自动办公免费实例与定制'作者-无知不自由'稆糨孝汶;**************************************************************'定义一个数组变量Dim arrDim rs As Integer'获取汇总数据的最后一行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))Dim ARR1(57, 3)'创建一个字典对象Set d = CreateObject("Scripting.Dictionary")'UBound(arr)即是求取数组的行数(按表格行列来理解)For i = 1 To UBound(arr)' 获取订单号 ddh = arr(i, 1) If ddh <> "" Then' 获取颜色,厚度 ys = arr(i, 6) & "mm_" & arr(i, 10)' 计算板材平方数 pfs = arr(i, 4) * arr(i, 5) * arr(i, 7) / 1000000' 将分类汇总的条件合并 aa = ddh & "-" & ys' 判断字典内是否有此关键字 If d.Exists(aa) Then' 将板材平方数与对应的订单号,颜色相加汇总 d.Item(aa) = d.Item(aa) + pfs pfs1 = d.Item(aa) Else n = n + 1 ' 将关键字存入字典内 d.Add aa, pfs End If End IfNext' 获取最后一行 HS1 = Sheets("分类汇总").Cells(Rows.Count, 4).End(xlUp).Row + 1' 将字典粘贴到工作表 aa = d.Keys For k = 0 To d.Count - 1 SZ = Split(aa(k), "-") Sheets("分类汇总").Range("A" & k + 1) = SZ(0) Sheets("分类汇总").Range("B" & k + 1) = SZ(1) Next Sheets("分类汇总").[C1].Resize(d.Count, 1) = Application.Transpose(d.items)End Sub

4、第四步,在按钮中右键,选择-指定宏,并在弹出的对话框选择-分类汇总,最后点击确定。

Excel VBA工作薄内容分类汇总
Excel VBA工作薄内容分类汇总

5、最后大功告成。 想了解到其他的更好的的实例如自动将单元格内容生成图片,制作加载宏让你的程序方便快速在任意电脑使用。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢