Excel VBA工作薄内容分类汇总

2025-11-03 04:10:17

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

Excel VBA工作薄内容分类汇总

Excel VBA工作薄内容分类汇总

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

Excel VBA工作薄内容分类汇总

3、第三步,写代码,老规矩,代码内已经写了注释。

Sub 分类汇总()

'欢迎转载文章及关注微信公众号 -ExcelVBA自动办公免费实例与定制

'作者-无知不自由

'**************************************************************

'定义一个数组变量

Dim arr

Dim 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 If

Next

'            获取最后一行

            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。
猜你喜欢