|
10学分
本帖最后由 liyin1743 于 2012-9-27 13:22 编辑
小弟新手,请各位高手指点,附件传上了
不要管1班2班3班是按黄色区域的人名来分(如果在黄色区域后面增加几行中也有姓名),总体想把总表中的考勤用VBA来实现1班、2班、3班里,按人名来分类,
最好在VBA中注释下,不胜感激,本人想学习学习,在线等,请教VBA高手
新的问题出现了,在8楼,附件也在8楼,因改对工号的修改了吧,代码就不能用了,出现1004错误,请高手再次帮个忙
效果图没错,1班里有个名字重复了
单击“1班”、“2班”或“3班”,再执行代码试试看! - Sub xq()
- Dim d As Object, rng As Range, arr, brr, i%, j%, k%
- Set d = CreateObject("scripting.dictionary")
- For Each rng In [B2:I7]
- If rng <> "" Then
- d(rng.Text) = ""
- End If
- Next
- arr = Sheet1.[A1].CurrentRegion.Value
- ReDim brr(1 To UBound(arr), 1 To UBound(arr, 2))
- For i = 2 To UBound(arr)
- If d.exists(arr(i, 2)) Then
- k = k + 1
- For j = 1 To UBound(arr, 2)
- brr(k, j) = arr(i, j)
- Next
- End If
- Next
- [A9].Resize(Rows.Count - 8, j - 1).ClearContents
- [A9].Resize(k, j - 1) = brr
- End Sub
复制代码附件:
考勤分类xq.rar
(33.01 KB, 下载次数: 18)
|
|