ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

发完这个帖子,我将升级了,心情好鸡冻

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-5-21 15:38 | 显示全部楼层

感谢老师帮助,我先测试一下给你反馈

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-21 15:38 | 显示全部楼层
于箱长 发表于 2023-5-21 14:22
物产好丰富,等我去黄山的,找您老讨杯茶水喝

欢迎到安徽来做客!

TA的精华主题

TA的得分主题

发表于 2023-5-21 15:43 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
老师需要把加班人员中的张凤英单独统计 他虽然在那个部门  但是和其他人员是分开的 需要单独计算加班 单独列一列出来,感谢

TA的精华主题

TA的得分主题

发表于 2023-5-21 15:46 | 显示全部楼层
她也不参与包裹数的计算,因为是另外部门的 但临时归到了这个部门

TA的精华主题

TA的得分主题

发表于 2023-5-21 18:33 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-5-21 19:12 | 显示全部楼层
老哥,这积分怎么才能获得,我都注册10年了,才270积分

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-21 19:54 | 显示全部楼层
hzs1111111 发表于 2023-5-21 15:43
老师需要把加班人员中的张凤英单独统计 他虽然在那个部门  但是和其他人员是分开的 需要单独计算加班 单独 ...


按你要求已进行了改进,我尽最大努力了
image.jpg

考勤.rar (112.91 KB, 下载次数: 5)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-21 19:56 | 显示全部楼层
hzs1111111 发表于 2023-5-21 15:46
她也不参与包裹数的计算,因为是另外部门的 但临时归到了这个部门
  1. Sub ssjss() '2023。4。21
  2.     Dim d, arr, i, r
  3.     Set d = CreateObject("Scripting.dictionary")
  4.     临时人员 = InputBox("请输入另外计算的人员名单:", , "张凤英")
  5.     r = Sheets("打卡详情").[B65536].End(xlUp).Row
  6.     arr = Sheets("打卡详情").Range("a3:i" & r)
  7.     For i = UBound(arr) To 3 Step -1
  8.         If InStr(临时人员, arr(i, 2)) Then arr(i, 6) = "临时工轮班"
  9.         If (Mid(arr(i, 6), 1, 3) = "仓储部" Or Mid(arr(i, 6), 1, 3) = "临时工") And arr(i, 9) > "18:30" Then
  10.             T = Mid(arr(i, 1), 1, 10) & " " & arr(i, 6)
  11.             If Not d.exists(T) Then
  12.                 d(T) = Array("18:00", arr(i, 9), 1, arr(i, 2))
  13.             Else '数组成员:加班开始时间,最早打卡时间,加班人数,加班人员
  14.                 If arr(i, 9) < d(T)(1) Then
  15.                     rs = d(T)(2) + 1 '加班人数
  16.                     ry = d(T)(3) & " " & arr(i, 2) '加班人员
  17.                     d(T) = Array("18:00", arr(i, 9), rs, ry)
  18.                 Else
  19.                     rs = d(T)(2) + 1 '加班人数
  20.                     ry = d(T)(3) & " " & arr(i, 2) '加班人员
  21.                     d(T) = Array("18:00", d(T)(1), rs, ry)
  22.                 End If
  23.             End If
  24.         End If
  25.     Next
  26.     Sheets("VBA算得").[a1].Resize(10000, 8).ClearContents
  27.     Sheets("VBA算得").[a1].Resize(1, 8) = _
  28.         Array("日期", "加班开始", "最早打卡", "上班人数", "姓名", "计算包裹数", "实际包裹数", "加班计时")
  29.     Sheets("VBA算得").[a2].Resize(d.Count, 1) = WorksheetFunction.Transpose(d.keys)
  30.     Sheets("VBA算得").[b2].Resize(d.Count, 4) = Application.Rept(d.items, 1)
  31.     r1 = d.Count + 1
  32.     With Sheets("管家发货记录")
  33.         r = .[B65536].End(3).Row
  34.         For i = 2 To r: T = Mid(.Cells(i, 1).Value, 9, 2): d(T) = .Cells(i, 2): Next
  35.     End With
  36.     With Sheets("VBA算得")
  37.         For i = 2 To r1
  38.             T = Mid(.Cells(i, 1).Value, 9, 2)
  39.             If d.exists(T) Then .Cells(i, "G") = d(T)
  40.         Next
  41.     End With
  42.     Sheets("VBA算得").Range("F2:F" & r1).Formula = "=D2*300"
  43.     Sheets("VBA算得").Range("H2:H" & r1).Formula = "=IF(F2<=G2,FLOOR((C2-B2)*24,0.5),0)"
  44.    
  45.     '以下统计月实际出勤数和加班总时
  46.     r = Sheets("实际出勤").[B65536].End(3).Row
  47.     Sheets("实际出勤").Range("F4:F" & r).Formula = "=COUNTIFS(打卡详情!B:B,B4,打卡详情!J:J,"">1"")"
  48.     Sheets("实际出勤").Range("G4:G" & r).Formula = "=COUNTIFS(打卡详情!B:B,B4,打卡详情!N:N,""*迟*"")"
  49.     Sheets("实际出勤").Range("H4:H" & r).Formula = "=COUNTIFS(打卡详情!B:B,B4,打卡详情!N:N,""*早*"")"
  50.     Sheets("实际出勤").Range("I4:I" & r).Formula = "=COUNTIFS(打卡详情!B:B,B4,打卡详情!N:N,""*假*"")"
  51.     Sheets("实际出勤").Range("K4:K" & r).Formula = "=SUMIF(VBA算得!E:E,""*""&B4&""*"",VBA算得!H:H)" '统计加班

  52. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2023-5-21 20:08 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
感谢 基本解决问题 非常感谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-21 20:13 | 显示全部楼层
wanao2008 发表于 2023-5-21 19:12
老哥,这积分怎么才能获得,我都注册10年了,才270积分

主要是现在我有大把的闲时了,每天上网5~6小时,研学大神们的佳作,帮助大家解决一些简单的问题,所以积分增长很快。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-16 13:56 , Processed in 0.049901 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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