|
发表于 2012-6-10 16:14
|
显示全部楼层
本楼为最佳答案
本帖最后由 hrpotter 于 2012-6-10 16:18 编辑
- Sub test()
- Dim ar, br(1 To 1000000, 1 To 1)
- Dim i As Long, j As Long, k As Long
- Dim f As String
- Dim num As Integer
- Dim wb As Workbook
- Application.ScreenUpdating = False
- num = Application.InputBox("请输入任意一个数(1-49):", , , , , , , 1)
- If num >= 1 And num <= 49 Then
- f = Dir(ThisWorkbook.Path & "\数据文件\*.xlsx")
- Sheets(1).Cells.Clear
- Do
- Set wb = Workbooks.Open(ThisWorkbook.Path & "\数据文件" & f)
- With wb.Sheets(1)
- ar = .Range("a1:a" & .Cells(.Rows.Count, 1).End(xlUp).Row)
- End With
- wb.Close
- k = 0
- Erase br
- For i = 5 To UBound(ar) - 1
- If ar(i, 1) = num Then
- For j = 1 To 6
- br(k * 7 + j, 1) = ar(i + j - 5, 1)
- Next
- k = k + 1
- End If
- Next
- ThisWorkbook.Sheets(1).Cells(1, Replace(f, ".xlsx", "")).Resize(7 * k, 1) = br
- f = Dir
- Loop Until Len(f) = 0
- End If
- Application.ScreenUpdating = True
- End Sub
复制代码
|
评分
-
查看全部评分
|