|
发表于 2011-9-20 13:19
|
显示全部楼层
本楼为最佳答案
本帖最后由 zjdh 于 2011-9-20 13:19 编辑
- Sub TEST()
- Dim I%, J%, C%
- Application.ScreenUpdating = False
- Workbooks.Open (ThisWorkbook.Path & "\公司工资表2011-7.xls")
- ARR = ActiveSheet.Range("B3:AD" & ActiveSheet.Range("A65536").End(3).Row)
- ActiveWorkbook.Close False
- With ThisWorkbook.Sheets(1)
- For I = 1 To UBound(ARR)
- C = .Range("B65536").End(xlUp).Row
- If C = 2 Then C = 3
- For J = 3 To C
- If ARR(I, 4) = .Range("B" & J) Then
- .Range("A" & J) = ARR(I, 3)
- .Range("C" & J) = ARR(I, 1)
- .Range("D" & J) = ARR(I, 2)
- .Range("E" & J) = ARR(I, 21)
- .Range("F" & J) = ARR(I, 22)
- .Range("G" & J) = ARR(I, 23)
- .Range("H" & J) = ARR(I, 29)
- Exit For
- End If
- If J = C Then
- .Range("A" & C + 1) = ARR(I, 3)
- .Range("B" & C + 1) = ARR(I, 4)
- .Range("C" & C + 1) = ARR(I, 1)
- .Range("D" & C + 1) = ARR(I, 2)
- .Range("E" & C + 1) = ARR(I, 21)
- .Range("F" & C + 1) = ARR(I, 22)
- .Range("G" & C + 1) = ARR(I, 23)
- .Range("H" & C + 1) = ARR(I, 29)
- End If: Next: Next: End With
- Application.ScreenUpdating = True
- End Sub
复制代码 |
|