分享

数据累加满足条件后重新开始计算。你知道如何实现吗?

 EXCEL应用之家 2022-08-02 发布于上海




小伙伴们好,今天和大家分享一道有趣的题目。

题目的要求是,在一列数据中,比如单元格区域A2:A31中,从单元格A2开始向下累加。如果累加的结果等于一个给定的值,比如说,5,则从下一个单元格重新开始累加。



题目要求就是这么多。

这类题目应用的场景很多,经常会看到朋友们在各大论坛上题类似的问题。但是这道题目用函数公式是无法解决的,必须要用到VBA。

下面就分享一则大神群友提供的代码吧!


01

首先打开VBA编辑器,你可以按下Alt+F11键,或者在工作表名单击右键,再单击查看代码进入。

进入后单击【插入】-【模块】,如下图。



单击模块1,开始书写代码。



完整的代码如下。

Sub test()

    Dim arr(), i As Integer

    Dim key

    key = 5 '指定的数字

    arr() = Range("A2:B31").Value

    arr(1, 2) = arr(1, 1)

    For i = 2 To UBound(arr)

        If arr(i, 1) + arr(i - 1, 2) <> key Then

            arr(i, 2) = arr(i, 1) + arr(i - 1, 2)

        Else

            arr(i, 2) = arr(i, 1) + arr(i - 1, 2)

            i = i + 1

            arr(i, 2) = arr(i, 1)

        End If

    Next i

    Range("A2:B31").Value = arr()

End Sub

输入完成后保存即可。


02

接下来我们运行代码。



单击图中的箭头,代码将自动运行。



图中涂黄色的单元格即是满足条件后,重新开始累加。

最后,记得要将文件保存为“.xlsm”的格式,即启用宏的文件格式。


好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

推荐阅读

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多