ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 遍历汇总

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-19 17:16 | 显示全部楼层
ykcbf1100 发表于 2024-9-19 16:58
你的工作和我以前的工作很类似,我以前是做业务考核的。

这样!怪不得老师理解题目快。只是老师以前可以自力更生,我却不行,网上讨教。谢谢老师多次相助。

TA的精华主题

TA的得分主题

发表于 2024-9-19 18:16 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
ddz79101 发表于 2024-9-19 17:16
这样!怪不得老师理解题目快。只是老师以前可以自力更生,我却不行,网上讨教。谢谢老师多次相助。

慢慢来吧,水平肯定会提高

TA的精华主题

TA的得分主题

发表于 2024-9-22 11:30 | 显示全部楼层
参与学习一下..

遍历汇总.zip

15.27 KB, 下载次数: 4

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-9-22 15:43 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. Sub qs()
  2. Application.DisplayAlerts = False: Application.ScreenUpdating = False
  3. Dim arr, i, dic, sht As Worksheet
  4. Set dic = CreateObject("scripting.dictionary")
  5. ReDim brr(1 To 10000, 1 To 100)
  6. brr(1, 1) = "姓名"
  7. m = 2: c2 = 2: c3 = 3: c4 = 4
  8. For Each sht In Sheets
  9.     If sht.Name <> "汇总" Then
  10.          x = x + 1
  11.             arr = sht.UsedRange.Value
  12.             dic.RemoveAll
  13.             For i = 3 To UBound(arr) - 1
  14.                 dic(arr(i, 2)) = Array(arr(i, 8), arr(i, 12), arr(i, 13))
  15.             Next
  16.       
  17.         If x = 1 Then
  18.             cl = 1
  19.             brr(1, 2) = sht.Name
  20.             brr(2, 2) = "单位": brr(2, 3) = "个人": brr(2, 4) = "合计"
  21.             For Each k In dic.keys
  22.             m = m + 1
  23.            
  24.             brr(m, 1) = k
  25.             brr(m, 2) = dic(k)(0)
  26.             brr(m, 3) = dic(k)(1)
  27.             brr(m, 4) = dic(k)(2)
  28.             Next
  29.         Else
  30.             c2 = c2 + 3: c3 = c3 + 3: c4 = c4 + 3
  31.             brr(2, c2) = "单位": brr(2, c3) = "个人": brr(2, c4) = "合计"
  32.             brr(1, c2) = sht.Name
  33.                 For i = 3 To m
  34.                     If dic.exists(brr(i, 1)) Then
  35.                     brr(i, c2) = dic(brr(i, 1))(0)
  36.                     brr(i, c3) = dic(brr(i, 1))(1)
  37.                     brr(i, c4) = dic(brr(i, 1))(2)
  38.                     dic.Remove brr(i, 1)
  39.                     End If
  40.                 Next
  41.                 If dic.Count > 0 Then '新来的员工
  42.                    For Each k2 In dic.keys
  43.                     m = m + 1
  44.                     brr(m, 1) = k2
  45.                     brr(m, c2) = dic(k2)(0)
  46.                     brr(m, c3) = dic(k2)(1)
  47.                     brr(m, c4) = dic(k2)(2)
  48.                    Next
  49.                 End If
  50.         End If
  51.     End If
  52. Next
  53. ReDim crr(1 To m, 1 To 3)
  54. crr(1, 1) = "合计": crr(2, 1) = "单位": crr(2, 2) = "个人": crr(2, 3) = "合计"
  55. For i = 3 To m
  56.     For j = 2 To c2 Step 3
  57.         crr(i, 1) = crr(i, 1) + brr(i, j)
  58.         crr(i, 2) = crr(i, 2) + brr(i, j + 1)
  59.         crr(i, 3) = crr(i, 3) + brr(i, j + 2)
  60.     Next
  61. Next
  62. Set dic = Nothing
  63. With Sheet1
  64.     .Range("a1:s10000").Clear
  65.     .Range("a1").Resize(m, c4) = brr
  66.     .Range("a1").Offset(, c4).Resize(m, 3) = crr
  67.     .Range(.Cells(m + 1, 2), .Cells(m + 1, c4 + 3)).Formula = "=sum(b3:b" & m & ")"
  68.     .Cells(m + 1, 1) = "合计"
  69.     .Range("a1:a2").Merge
  70. For cc = 2 To 100 Step 3
  71.     If Len(.Cells(1, cc)) > 0 Then
  72.         .Cells(1, cc).Resize(1, 3).Merge
  73.     End If
  74. Next
  75.    With .Range("a1").CurrentRegion
  76.    .Borders.LineStyle = 1
  77.     .HorizontalAlignment = xlCenter
  78.     .Columns.AutoFit
  79.     .Value = .Value
  80.     End With
  81. End With
  82. Application.DisplayAlerts = True: Application.ScreenUpdating = True
  83. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2024-9-22 15:45 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
试试...........
PixPin_2024-09-22_15-43-31.gif

TA的精华主题

TA的得分主题

发表于 2024-9-22 15:46 | 显示全部楼层
试试...........

遍历汇总.rar

21.01 KB, 下载次数: 5

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-26 17:21 | 显示全部楼层

TA的精华主题

TA的得分主题

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

谢谢老师!顺利完成
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-19 03:50 , Processed in 0.031523 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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