如何用VBA分类求和?

2022年7月4日 43点热度 0人点赞

本篇经验将通过实例和大家分享“如何编写运行VBA代码,来进行分类求和?”

工具/原料

  • 电脑壹台
  • OFFICE办公软件

方法/步骤

  1. 1

    实例,成功编写代码,运行后的效果如下图。这个实例比较典型,知识运用得比较综合,在实际工作中也比较实用!

  2. 2

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

  3. 3

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

  4. 4

    会弹出模块编辑窗口!

  5. 5

    在代码编辑窗口输入以下代码:

    Sub 成绩汇总()

    Dim arr1()

    arr = Range("a2", Cells(Rows.Count, "f").End(xlUp))

    Set d = CreateObject("scripting.dictionary")

    For i = 1 To UBound(arr)

      If d.exists(arr(i, 1)) = False Then

        n = n + 1

        d(arr(i, 1)) = n

        ReDim Preserve arr1(1 To 6, 1 To n)

        arr1(1, n) = arr(i, 1)

        arr1(2, n) = arr(i, 2)

        arr1(3, n) = arr(i, 3)

        arr1(4, n) = arr(i, 4)

        arr1(5, n) = arr(i, 5)

        arr1(6, n) = arr(i, 6)

      Else

        m = d(arr(i, 1))

        arr1(2, m) = arr1(2, m) + arr(i, 2)

        arr1(3, m) = arr1(3, m) + arr(i, 3)

        arr1(4, m) = arr1(4, m) + arr(i, 4)

        arr1(5, m) = arr1(5, m) + arr(i, 5)

        arr1(6, m) = arr1(6, m) + arr(i, 6)

      End If

    Next

    [h2].Resize(n, 6) = Application.Transpose(arr1)

    End Sub

  6. 6

    编写好代码,点击工具栏中的【运行】按钮!

  7. 7

    一劳永逸,平时我们只需录入数据,月末我们只需一点,就可以把庞大的数据分类汇总成功!要比用函数公式还快捷!

    END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部

laozhao

这个人很懒,什么都没留下

文章评论