ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 行业案例 > 财会金融 > 如何根据数据表将不同分级下的金额汇总到一起?

如何根据数据表将不同分级下的金额汇总到一起?

作者:绿色风 分类:财会金融 时间:2022-08-18 浏览:146
楼主
Zaezhong
Q:需要将下面的数据区域表按照不同的分类级别汇总到一起?其中每个一级目录下方的分类数目是不同的。需要汇总后的效果和原始数据表,具体见下图,图片未设置格式对齐等。

 
A:
  1. Sub test()
  2.     Dim arr(1 To 2, 1 To 6), brr(1 To 3, 1 To 6), crr(1 To 1, 1 To 6)
  3.     Dim T, N&, i%, j%, k%, X$
  4.     T = Sheets(1).[A1].CurrentRegion    'A1当前区域赋值给数组
  5.     Range("J2:O10").ClearContents   '清空原有数据结果
  6.     For N = 2 To UBound(T) - 1
  7.     If T(N, 1) Like "*:*" Then     '该部分主要是为了第14行,第15行出现两次一级目录时候出现的错误处理
  8.         X = Trim(T(N, 1))   '将一级目录赋值给一个变量
  9.     Else: X = X     '如果当前不是一级目录,那么将原来的一级目录赋值给变量,即不变
  10.     End If
  11.         If X = "库存现金:" Then    '如果一级目录是库存现金
  12.             If Trim(T(N + 1, 1)) Like "*人民币*" Then   '下面几行判断货币的类别
  13.                 k = 1
  14.             ElseIf Trim(T(N + 1, 1)) Like "*欧元*" Then
  15.                 k = 2
  16.             Else: GoTo 1    '都不满足的时候直接循环到下一行
  17.             End If
  18.                 For i = 1 To 6
  19.                     arr(k, i) = arr(k, i) + Val(T(N + 1, i + 1))    '使用Val是因为数据区域存在文本
  20.                 Next
  21.         ElseIf X = "银行存款:" Then    '如果一级目录是引号存款
  22.             Select Case Trim(Trim(T(N + 1, 1)))     '继续判断货币的类别
  23.                 Case "-人民币"
  24.                     j = 1
  25.                 Case "-美元"
  26.                     j = 2
  27.                 Case "-港币"
  28.                     j = 3
  29.             End Select
  30.             For i = 1 To 6
  31.                 brr(j, i) = brr(j, i) + Val(T(N + 1, i + 1))
  32.             Next
  33.         ElseIf X = "其他货币资金:" Then
  34.             For i = 1 To 6
  35.                 crr(1, i) = crr(1, i) + Val(T(N + 1, i + 1))
  36.             Next
  37.         End If
  38. 1:
  39.     Next
  40.     [J3].Resize(2, 6) = arr: [J6].Resize(3, 6) = brr: [J10].Resize(, 6) = crr   '结果写到单元格
  41.     Columns("J:O").AutoFit  '自动调整单元格列宽
  42. End Sub

分级汇总.zip
2楼
gysegz
强帖我要顶**
3楼
水星钓鱼
感谢分享
4楼
335081548
感谢分享
5楼
lrlxxqxa

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap