ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 458|回复: 3

[求助] 保存数据到指定区域并累加数据

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-2-16 16:36 | 显示全部楼层 |阅读模式

请老师帮忙写段代码实现指定区域保存数据并累加,谢谢

请老师帮忙写段代码实现指定区域保存数据并累加,谢谢
在指定区域录入数据后,需要把录入的数据保存到指定区域,如果数据相同则累加  反之则保存到新行,由于自己vba代码不精通,特到论坛求助各位老师.还请老师帮忙解决一下.谢谢 保存到指定区域并累加.rar (10.7 KB, 下载次数: 6)

TA的精华主题

TA的得分主题

发表于 2023-2-16 19:07 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-16 20:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

谢谢蓝桥玄霜老师,我照着代码先理解一下.谢谢啦

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-16 21:30 | 显示全部楼层
本帖最后由 1105263341 于 2023-2-16 21:33 编辑

修改代码.jpg 蓝桥玄霜老师您好,代码运行了后  如果"当月第几周"和"季节"数据一样的 就累加对应的数量和金额还不能实现.
我也找不到修改的方法 请问能否请您再帮我修改一下? 打扰您啦,实在是不好意思



Sub 矩形圆角1_Click()

Dim dq, Arr, i%, zs, rq, d, x$, m%, n%, sL, je
Dim k, t, aa, j%
Set d = CreateObject("Scripting.Dictionary")
Sheet1.Activate
Arr = [b19].CurrentRegion
dq = Arr(2, 5)
zs = Arr(4, 1): rq = Arr(5, 1)
For i = 4 To UBound(Arr)
    x = Arr(i, 2) & Arr(i, 3)
    d(x) = d(x) & i & ","
Next
k = d.keys: t = d.items
For i = 0 To UBound(k)
    t(i) = Left(t(i), Len(t(i)) - 1)
   
    If InStr(t(i), ",") Then
        sL = 0: je = 0
        aa = Split(t(i), ",")
        For j = 0 To UBound(aa)
            sL = sL + Arr(aa(j), 4): je = je + Arr(aa(j), 5)
        Next
        
        With Sheet2
            m = .Cells(Rows.Count, 2).End(x1Up).Row + 1
            
            .Cells(m, 2) = zs: .Cells(m, 3) = rq

            .Cells(m, 4) = k(i): .Cells(m, 5) = sL: .Cells(m, 6) = je
            
            n = .Cells(Rows.Count, 15).End(x1Up).Row + 1
            .Cells(n, 15) = dq: .Cells(n, 16) = zs
            .Cells(n, 17) = k(i): .Cells(n, 18) = sL: .Cells(n, 19) = je
        End With
    Else
        With Sheet2
            m = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
            .Cells(m, 2) = zs: .Cells(m, 3) = rq
            .Cells(m, 4) = k(i): .Cells(m, 5) = Arr(t(i), 4): .Cells(m, 6) = Arr(t(i), 5)
            n = .Cells(Rows.Count, 15).End(xlUp).Row + 1
            .Cells(n, 15) = dq: .Cells(n, 16) = zs
            .Cells(n, 17) = k(i): .Cells(n, 18) = Arr(t(i), 4): .Cells(n, 19) = Arr(t(i), 5)
        End With
    End If
Next
End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 04:28 , Processed in 0.033389 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表