ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 金额计算

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-2-21 17:34 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
zllyyz 发表于 2024-2-21 11:04
本身数据已经汇总抵消了,想要的就是再体现另外的结果...
思维不行呀,目前还在想方法更改呢....
如果 ...

所发示例,系在二楼“ykcbf1100”大师编写的代码基础上,依楼主增加数据,对原代码稍作修改、调整,仅供参考。由于本人也是一个刚涉足VBA的小白,且外语水平几乎也为0,因此,修改的代码一定存在不少问题或不足,请多谅。
原始数据.jpg
计算结果.jpg
删除计算结果.jpg

金额计算.rar

32.53 KB, 下载次数: 20

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-25 17:36 | 显示全部楼层
准提部林 发表于 2024-2-21 12:27
擠牙膏~~
最好將各种狀況及需求規則說清楚

大佬 大佬 大佬
能不能再加个前置条件?收与支相同金额的不参与计算?
高估自己 弄了好几天了  弄不出点东西来......

金额计算1.rar

10.42 KB, 下载次数: 5

TA的精华主题

TA的得分主题

发表于 2024-2-25 19:43 | 显示全部楼层
zllyyz 发表于 2024-2-25 17:36
大佬 大佬 大佬
能不能再加个前置条件?收与支相同金额的不参与计算?
高估自己 弄了好几天了  弄不出 ...

Sub Test_A1() '\\by.准提部林
Dim xA As Range, Arr, Brr, i&, j%, k%, v1, v2, v, P
Set xA = Range(Cells(Rows.Count, "d").End(3)(1, 2), Cells(5, Columns.Count).End(1)(2))
Arr = xA.Value: Brr = Arr
For i = 1 To UBound(Arr) Step 3
    For j = 1 To UBound(Arr, 2)
        If Arr(i, j) <> 0 Then
           For k = 1 To UBound(Arr, 2)
               If Arr(i + 1, k) = Arr(i, j) Then Arr(i, j) = 0: Arr(i + 1, k) = 0: Exit For
           Next k
        End If
    Next j
Next i
'-----------------------
For i = 1 To UBound(Arr) Step 3
    k = 0
    For j = UBound(Arr, 2) To 1 Step -1
        Brr(i + 2, j) = ""
        v1 = Val(Arr(i, j)): v2 = Val(Arr(i + 1, j))
        If v1 <> 0 Or v2 <> 0 Then k = j
        v = v1 - v2: P = P + v
        If v > 0 And P > 0 Then Brr(i + 2, j) = P: P = 0
    Next j
    If k = 0 Then k = 1
    If P <> 0 Then Brr(i + 2, k) = P: P = 0
Next i
'------------------------
xA = Brr
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-26 08:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
准提部林 发表于 2024-2-25 19:43
Sub Test_A1() '\\by.准提部林
Dim xA As Range, Arr, Brr, i&, j%, k%, v1, v2, v, P
Set xA = Range( ...


大佬总有方法,小白管中窥豹 66666666666
'------------------------分割线 提升阅读舒适度 以后可以 借鉴 借鉴

TA的精华主题

TA的得分主题

发表于 2024-2-26 12:02 | 显示全部楼层
好神奇的需求,你的汇总视乎没有规律啊,想汇总就汇总一下。那这怎么编程程序。不知道哪位大佬能编这个。就是按照你提供的少量样本编出来,当你用于大量数据的时候还是会出错。
你得把你汇总的需求的规律性表达出来。反正我是真看不出来规律在哪里!

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-26 12:35 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Enocheasty 发表于 2024-2-26 12:02
好神奇的需求,你的汇总视乎没有规律啊,想汇总就汇总一下。那这怎么编程程序。不知道哪位大佬能编这个。就 ...

大佬就是神奇的存在
早就能看出来目的与潜在规律了
能从中学习就好了
不是每个人都有大量的基础数据来发现规律的

TA的精华主题

TA的得分主题

发表于 2024-2-26 17:16 | 显示全部楼层
zllyyz 发表于 2024-2-26 12:35
大佬就是神奇的存在
早就能看出来目的与潜在规律了
能从中学习就好了

呵呵,仔细看了一下大佬给你的VBA程序和计算结果,出的结果似乎跟你1楼的需求不一样啊,那不是有收支就汇总吗,如果是这样不就简单多了?
我只看了你1楼给的例子,开始以为你是有收就汇总,到下一次收之前,这个实现也不难,结果你第10次有收有支,却没汇总,所以我就懵了,我楞是没看出来,你什么时候要汇总,什么时候不用。看了下面几行数据更懵了。
可能我理解能力差吧!

TA的精华主题

TA的得分主题

发表于 2024-2-26 17:47 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Enocheasty 发表于 2024-2-26 17:16
呵呵,仔细看了一下大佬给你的VBA程序和计算结果,出的结果似乎跟你1楼的需求不一样啊,那不是有收支就汇 ...

無關"汇总", 需求在第三行
1) 抓對廝殺---收支相等, 略过比對(即相沖為0, 視為不存在)
2) 汰弱留強---由右而右收支沖抵, 餘額為正數時, 在第三行填入餘額, 否則繼續往前沖抵

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-2-26 22:48 | 显示全部楼层
准提部林 发表于 2024-2-26 17:47
無關"汇总", 需求在第三行
1) 抓對廝殺---收支相等, 略过比對(即相沖為0, 視為不存在)
2) 汰弱留強--- ...

不好意思,非财会专业,但是你这样说我还是的懂的。只是1楼的那个示意我是的确没看出规律。
可能没搞过算账的人,对这个需求不敏感吧。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-18 15:41 , Processed in 0.039492 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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