Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2064|回复: 2

[已解决]考勤VBA學習中求助

[复制链接]
发表于 2015-8-15 17:30 | 显示全部楼层 |阅读模式
本帖最后由 happymary2 于 2015-8-16 09:24 编辑

考勤表 20150815.rar (109.15 KB, 下载次数: 6)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-8-16 10:01 | 显示全部楼层    本楼为最佳答案   
  1. Sub lqxs()
  2. Dim Arr, i&, Sht As Worksheet, Brr, r%, Arr1()
  3. Dim d, k, t, ks, js, j&, x$
  4. Set d = CreateObject("Scripting.Dictionary")
  5. Set Sht = ActiveSheet
  6. [j4:bz5000].ClearContents
  7. Brr = Sht.UsedRange
  8. Arr = Sheets("data").UsedRange
  9. For i = 4 To UBound(Arr)
  10.     d(Arr(i, 9)) = d(Arr(i, 9)) & Arr(i, 7) & ","
  11. Next
  12. For i = 4 To UBound(Brr)
  13.     If Brr(i, 9) = "上班時間" Then
  14.         r = r + 1
  15.         ReDim Preserve Arr1(1 To r)
  16.         Arr1(r) = i
  17.     End If
  18. Next
  19. k = Array(0, 1, 7, 8)
  20. For i = 1 To r
  21.     If i <> r Then
  22.         js = Arr1(i + 1) - 1
  23.     Else
  24.         js = UBound(Brr)
  25.     End If
  26.     ks = Arr1(i): bh = Brr(ks, 1)
  27.     For j = 10 To UBound(Brr, 2)
  28.         x = bh & Format(Brr(3, j), "d/m/yyyy")
  29.         If d.exists(x) Then
  30.             t = d(x)
  31.             t = Left(t, Len(t) - 1)
  32.             If InStr(t, ",") Then
  33.                 aa = Split(t, ",")
  34.                 Brr(ks, j) = aa(0): Brr(ks + 1, j) = aa(UBound(aa))
  35.                 If UBound(aa) > 2 Then
  36.                 Brr(ks + 7, j) = aa(1): Brr(ks + 8, j) = aa(2)
  37.                 End If
  38.             Else
  39.                 Brr(ks, j) = t
  40.             End If
  41.         End If
  42.     Next
  43. Next
  44. [a1].Resize(UBound(Brr), UBound(Brr, 2)) = Brr
  45. End Sub
复制代码

考勤表 20150815.rar

119.16 KB, 下载次数: 24

回复

使用道具 举报

 楼主| 发表于 2015-8-17 21:42 | 显示全部楼层
蓝桥玄霜 发表于 2015-8-16 10:01

感謝賜教!
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-19 20:46 , Processed in 0.229438 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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