|
Sub 提取数据()
Dim arr, brr()
Dim s1 As Date, s2 As Date
s1 = Sheets("提取").Range("b1")
s2 = Sheets("提取").Range("b2")
ThisWorkbook.Sheets("提取").Range("a5:e10000").ClearContents
Dim wb As Workbook
Dim sht As Worksheet
Dim myname, mypath
mypath = ThisWorkbook.Path & "/"
myname = Dir(mypath)
Application.ScreenUpdating = False
Do While myname <> ""
If myname <> "提取数据.xls" Then
Set wb = Workbooks.Open(mypath & myname)
For Each sht In wb.Worksheets
If Not IsEmpty(sht.UsedRange) Then
arr = sht.UsedRange
For i = 2 To UBound(arr)
If arr(i, 2) > s1 And arr(i, 2) < s2 Then
m = m + 1
ReDim Preserve brr(1 To 5, 1 To m)
brr(1, m) = arr(i, 1)
brr(2, m) = arr(i, 2)
brr(5, m) = wb.Name & sht.Name
End If
Next
End If
Next
wb.Close
End If
myname = Dir
Loop
Application.ScreenUpdating = True
ThisWorkbook.Sheets("提取").Range("a5").Resize(m, 5) = Application.Transpose(brr)
Erase brr
End Sub |
评分
-
1
查看全部评分
-
|