ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 帮忙把代码增加点功能

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-2-29 10:43 | 显示全部楼层 |阅读模式
本帖最后由 dbg111222 于 2024-2-29 10:49 编辑

我想在下面的代码中增加按照从A列的A5开始按照时间排序,排序完后增加If r > 5 Then br(r, 8) = br(r - 1, 8) +  br(r, 4) - br(r, 5) - br(r, 6) + br(r, 7),最下面一行B列和J列的地方增加固定签字的地方,谢谢!


Sub 明细帐页()

ar = Sheets("库存").UsedRange
With Sheets("明细账页")
    m = .Range("b2")
    bm = .Range("e2")
    .[h2] = ""
    .[b3] = ""
    .[e3] = ""
    .UsedRange.Offset(4).Clear
    br = .Range("a1").Resize(9999, 11)
    r = 4
End With
   
    For i = 3 To UBound(ar)
        If ar(i, 2) = bm Then
            br(2, 9) = ar(i, 19)
            br(3, 2) = ar(i, 5)
            br(3, 5) = ar(i, 4)
            r = r + 1
            br(r, 1) = DateSerial(Year(Now), m, 1)
            br(r, 3) = ar(i, 6)
            br(r, 8) = ar(i, 6)
            Exit For
        End If
    Next
   

sr = Sheets("收入").UsedRange
    For i = 2 To UBound(sr)
        If sr(i, 2) = bm And month(sr(i, 12)) = m Then
            r = r + 1
            br(r, 1) = sr(i, 12)
'            br(r, 2) = sr(i, 11)
            br(r, 4) = sr(i, 6)
            If r > 5 Then br(r, 8) = br(r - 1, 8) + sr(i, 6)
            br(r, 9) = sr(i, 13)
        End If
    Next
   
fc = Sheets("发出").UsedRange
    For i = 2 To UBound(fc)
        If fc(i, 2) = bm And month(fc(i, 11)) = m Then
            r = r + 1
            br(r, 1) = fc(i, 11)
            br(r, 2) = fc(i, 9) & fc(i, 10)
            br(r, 5) = fc(i, 6)
            br(r, 8) = br(r - 1, 8) - fc(i, 6)
            br(r, 10) = fc(i, 12)
        End If
    Next
   
tl = Sheets("退料").UsedRange
    For i = 2 To UBound(tl)
        If tl(i, 2) = bm And month(tl(i, 11)) = m Then
            r = r + 1
            br(r, 1) = tl(i, 11)
'            br(R, 2) = tl(i, 9)
            br(r, 6) = tl(i, 6)
            br(r, 8) = br(r - 1, 8) - tl(i, 6)
        End If
    Next
   
tk = Sheets("退库").UsedRange
    For i = 2 To UBound(tl)
        If tk(i, 2) = bm And month(tk(i, 12)) = m Then
            r = r + 1
            br(r, 1) = tk(i, 12)
            br(r, 2) = tk(i, 10) & tk(i, 11)
            br(r, 7) = tk(i, 6)
            br(r, 8) = br(r - 1, 8) + tk(i, 6)
        End If
    Next
   
   
With Sheets("明细账页").Range("a1").Resize(r, 11)
    .Value = br
    .Borders.LineStyle = xlContinuous
End With
   
   
End Sub


TA的精华主题

TA的得分主题

发表于 2024-2-29 13:40 | 显示全部楼层
建议楼主上传模拟附件,便于大家处理

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-29 13:49 来自手机 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-29 13:50 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
排序后再增加我说的计算

TA的精华主题

TA的得分主题

发表于 2024-2-29 14:00 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-2-29 14:05 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ykcbf1100 发表于 2024-2-29 14:00
没有附件,写代码时不好调试的。

他的附件在我说有坑的那个帖子里

TA的精华主题

TA的得分主题

发表于 2024-2-29 14:06 | 显示全部楼层
于箱长 发表于 2024-2-29 14:05
他的附件在我说有坑的那个帖子里

这样啊,还是你记性好。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-29 14:09 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
于箱长 发表于 2024-2-29 14:05
他的附件在我说有坑的那个帖子里

你总是说有坑,其实没有,我只是要增加点别的功能,你说的问题我这里都解决了。

TA的精华主题

TA的得分主题

发表于 2024-2-29 15:55 | 显示全部楼层
dbg111222 发表于 2024-2-29 14:09
你总是说有坑,其实没有,我只是要增加点别的功能,你说的问题我这里都解决了。

有没有不重要,事实上你确实没有快速的获得自己想要的结果,因为各位老师不一定都是财务专业的,不一定都能充分理解诉求,我说有坑的意思也是说只要有考虑不到的地方或者原始资料不完整的话,是不容易满足求助需求,仅此而已,楼主要是不高兴的话,略过就好,你就还按自己的思路求助吧
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-18 13:57 , Processed in 0.046075 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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