ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 实现指纹原始记录按每个日期一行的方式显示出来

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-9-24 15:46 | 显示全部楼层 |阅读模式
如表所示,表1为 考勤机导出来的原始记录,现想实现如下功能:
1.新建表2,根据表1的数据,按每人每个日期一行的方式,把一个人一天多次的指纹记录都放在同一行上
2.表1的数据是有打卡才有显示,但表2希望按当月自然顺序排列,没打卡的日期显示为空行

请各位高手帮忙,谢谢~~~~

表1

表1

表2

表2

考勤记录.rar

70.04 KB, 下载次数: 25

TA的精华主题

TA的得分主题

发表于 2015-9-25 09:51 | 显示全部楼层
用VBA来解决——

  1. Option Explicit

  2. Sub 提取考勤数据()
  3. Dim c As Range, arr(9999, 11), i%, j%, k%
  4. arr(0, 0) = "编号"
  5. arr(0, 1) = "姓名"
  6. arr(0, 2) = "日期"
  7. arr(0, 3) = "星期"
  8. arr(0, 4) = "时间1"
  9. arr(0, 5) = "时间2"
  10. arr(0, 6) = "时间3"
  11. arr(0, 7) = "时间4"
  12. arr(0, 8) = "时间5"
  13. arr(0, 9) = "时间6"
  14. arr(0, 10) = "时间7"
  15. arr(0, 11) = "时间8"
  16. For Each c In Sheet1.Range("A2:A" & Sheet1.[A65536].End(xlUp).Row)
  17.   If c.Offset(0, 2) = c.Offset(-1, 2) Then
  18.     j = j + 1
  19.   Else
  20.     i = i + 1
  21.     j = 1
  22.   End If
  23.   arr(i, 0) = c.Value
  24.   arr(i, 1) = c.Offset(0, 1)
  25.   arr(i, 2) = CDate(Left(c.Offset(0, 2), 8))
  26.   arr(i, 3) = "星期" & Right(c.Offset(0, 2), 1)
  27.   For k = 0 To j
  28.     arr(i, j + 3) = c.Offset(0, 3)
  29.   Next
  30. Next
  31. ActiveCell.Resize(UBound(arr), 12) = arr
  32. End Sub
复制代码


使用方法如下图所示——
QQ截图20150925094639.png


考勤记录.zip

101.81 KB, 下载次数: 39

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-9-25 10:00 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-10-8 11:27 | 显示全部楼层

版主,我要用你的這個代碼分析我這個數據,應該如何寫啊,謝謝?

想要的格式.rar

23.12 KB, 下载次数: 18

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-23 01:02 , Processed in 0.047428 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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