|
Sub Macro2()
On Error Resume Next
Dim arr, d, i&, x&
Set d = CreateObject("scripting.dictionary")
arr = Range("a1").CurrentRegion
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For i = Sheets.Count To 5 Step -1 '删除第5个工作表以后的所有工作表
Sheets(i).Delete
Next
For i = 3 To UBound(arr)
If Not d.exists(arr(i, 8)) Then
d(arr(i, 8)) = ""
If Sheets("" & arr(i, 8)) Is Nothing Then
Sheets("总表").[h2].AutoFilter Field:=8, Criteria1:=arr(i, 8)
With Sheets.Add(after:=Sheets(Sheets.Count))
ActiveSheet.Name = arr(i, 8)
Sheets("总表").[a:h].Copy Range("a1")
x = Range("g65536").End(xlUp).Row
Cells(x + 1, "f") = "总计"
Cells(x + 1, "g") = Application.Sum(Range(Cells(3, "g"), Cells(x, "g")))
Columns.AutoFit
End With
End If
End If
Sheets("总表").ShowAllData
Next
Sheets("总表").Activate
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
|
评分
-
查看全部评分
|