|
5学分
本帖最后由 追梦人亮 于 2013-10-31 19:45 编辑
希望大家帮助
工作簿中有很多工作表,每个工作表中要的数据都相同,2012/10/1——2013/10/1,怎样把没用的数据删除
怎样循环实现,最好能有一个窗口出现供选择日期,同时有一个默认的日期。
- Sub Test()
- Dim sh As Worksheet
- Dim A(), B(1 To 10 ^ 5, 1 To 3)
- Dim i&, x&, y&, s&, str$
- '删除统计结果
- Application.DisplayAlerts = False
- On Error Resume Next
- Sheets("结果").Delete
- On Error GoTo 0
- '指定日期
- x = Application.InputBox("起始日期", , "2012/10/1", , , , , 1)
- y = Application.InputBox("终止日期", , "2013/10/1", , , , , 1)
- If x = 0 Or y = 0 Then End
- '统计
- For Each sh In Sheets
- A = sh.UsedRange
- str = sh.Name
- For i = 3 To UBound(A) - 1
- If A(i, 1) >= x And A(i, 1) <= y Then
- s = s + 1
- B(s, 1) = A(i, 1)
- B(s, 2) = A(i, 2)
- B(s, 3) = str
- End If
- Next i
- Next
- '输出
- If s > 0 Then
- Sheets.Add after:=Sheets(Sheets.Count)
- ActiveSheet.Name = "结果"
- Range("a:a").NumberFormat = "yyyy/m/d"
- Range("a1").Resize(s, UBound(B, 2)) = B
- Columns(1).AutoFit
- End If
- End Sub
复制代码
要指定日期数据2.rar
(284.47 KB, 下载次数: 29)
|
|