|
楼主 |
发表于 2011-4-4 14:33
|
显示全部楼层
Dim WB
Sub 取数2()
Application.ScreenUpdating = False
Dim mydate
Dim m, vl, KH, zq, RQ
With ThisWorkbook.Sheets(2) '因为要打开多个文件,所以用with语句保证结果放在取数工作簿中
.Range(Cells(4, 1), Cells(1000, 5)).Clear
mydate = .Cells(1, 2)
返回年月日并取得文件控件权 (mydate)
arr = WB.Sheets(CStr(Day(mydate))).Range("B15:AC22")
ReDim brr(1 To UBound(arr), 1 To 5)
For x = 1 To UBound(arr)
brr(m + 1, 1) = arr(x, 1)
brr(m + 1, 2) = arr(x, 25)
brr(m + 1, 3) = arr(x, 26)
brr(m + 1, 4) = arr(x, 27)
brr(m + 1, 5) = arr(x, 28)
m = m + 1
Next x
.Cells(4, 1).Resize(m, 5) = brr
End With
WB.Close False
Set WB = Nothing
Set ws = Nothing
Erase arr
Erase brr
Application.ScreenUpdating = True
End Sub
Sub 返回年月日并取得文件控件权(mdate As Date)
Application.ScreenUpdating = False
MyYear = Year(mdate)
MyMonth = Month(mdate)
Myday = Day(mdate)
Set WB = GetObject(ThisWorkbook.Path & "\对帐单\" & MyYear & "年\" & MyMonth & "月\" & "河北-" & MyMonth & "月.xls") '打开该月份的工资表
End Sub
请把上面代码封存成DLL文件,谢谢 |
|