ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 行业案例 > 人力资源 > 考勤表自动生成器

考勤表自动生成器

作者:绿色风 分类: 时间:2022-08-18 浏览:137
楼主
水星钓鱼
分享一个我每个月都在用的考勤表自动生成代码。只需修改
  1.   arr2 = Array("张三", "李四", "刘备")
此代码即可改为想要的结果。

  1. Private Sub CommandButton1_Click()
  2.         Dim i, j, k, l, n, m, arr1, arr2
  3.         Dim oWK As Worksheet
  4.         j = Month(Now())
  5.         arr1 = Array("姓名", "具体时间", "异常类别", "备注原因", "类别", "统计", "出勤天数")
  6.         arr2 = Array("张三", "李四", "刘备")
  7.         Set oWK = ThisWorkbook.Worksheets.Add
  8.         With oWK
  9.             .Name = Year(Now()) & "年" & j & "月考勤登记表"
  10.             .Range("A1:G1") = arr1
  11.             For i = 0 To UBound(arr2)
  12.                 For l = 1 To Day(DateSerial(Year(Now()), j + 1, 0))
  13.                     .Cells(k + 2, 1) = arr2(i)
  14.                     .Cells(k + 2, 2) = Format(DateSerial(Year(Now()), j, l), "yyyy-m-d")
  15.                     .Cells(k + 2, 3).FormulaR1C1 = "=IF(RC[2]=""零星假"",""■零星假 □迟到/旷工" & Chr(10) & "□公出   □漏打卡"",IF(RC[2]=""漏打卡"",""□零星假 □迟到/旷工" & Chr(10) & "□公出   ■漏打卡"",IF(COUNT(FIND(""出"",RC[2])),""□零星假 □迟到/旷工" & Chr(10) & "■公出   □漏打卡"","""")))"
  16.                     .Cells(k + 2, 6).FormulaR1C1 = "=IF(OR(AND(RC[-1]<>""零星假"",COUNT(FIND({""假"",""休""},RC[-1]))>0),AND(WEEKDAY(RC[-4],2)>5,COUNT(FIND({""班""},RC[-1]))=0)),""不在岗"",""在岗"")"
  17.                     k = k + 1
  18.                 Next
  19.             Next
  20.         n = .Range("a65536").End(xlUp).Row
  21.             With .Range("e2:e" & n).Validation
  22.                 .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
  23.                     xlBetween, Formula1:="零星假,公出,漏打卡,加班,病假,事假,调休,集体异常,外出客服,借调,婚假,送托假,产假,陪产假,流产假,产检假,迟到/旷工,国家法定节假日,正常上班"
  24.             End With
  25.             .Cells.Locked = False
  26.             .Cells.AutoFilter
  27.             .Cells.EntireColumn.AutoFit
  28.             .Range("a2").Select
  29.         End With
  30.     With ActiveWindow
  31.         .FreezePanes = True
  32.     End With
  33. End Sub





考勤表自动生成.rar
2楼
hustclm
学习学习
3楼
lrlxxqxa
先在E列标记类别,然后打印出来纸质版使用?
4楼
水星钓鱼
在EXCEL中记录。我这个是一个部门的考勤记录。
5楼
小飞123
会用到 谢谢
6楼
amylee
谢谢版主分享!
7楼
cba2wt
谢谢   
8楼
yeminqiang
不错

9楼
Cloudlearning
牛B
10楼
老糊涂
学习
11楼
过期品24

免责声明

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

评论列表
sitemap