Excel宏处理之数据分页一键处理
1、建立一个每日产出数据统计表格。如图。
注意此例中代码是按照A列名称分页的。如若想直接用此代码,请将需要的分类列放到A列。

2、录制一个名为"Sepsheets"的空宏。用于加载代码。名称可按自身习惯自取。
甚至可命名李光耀以表纪念。

3、打开刚才建立的空宏并插入如下斜体加黑代码。
Sub Sepsheets()
' Sepsheets Macro
' 将工作薄"Sep"的内容按A列分类从第二行开始放入不同工作薄中。
Dim i As Integer
Dim j As Integer
' i & j 用于行循环
Dim k As Integer
Dim h As Integer
' k & h用于excel表单循环
Dim m As Integer
'm用于根据表头内容判断有多少列需要分页
Dim n As Integer
'临时变量,用于判断是否需要新建表单
Dim p As String
'p 代表当前工作表单表单名
Dim q As String
'q用于表示以A列中分类的内容为名建立的表单
Range("a1").Select
p = ActiveSheet.Name
j = ActiveSheet.[a65536].End(3).Row
m = Sheets(p).Cells(1, 256).End(xlToLeft).Column
h = Sheets.Count
n = 0
For i = 2 To j
Sheets(p).Select
If Range("A" & i).Value <> "" Then
For k = 1 To h
If Sheets(k).Name <> Range("A" & i).Value Then
n = n + 1
End If
Next k
If n = h Then
Sheets.Add after:=Sheets(h)
h = h + 1
Sheets(h).Name = Sheets(p).Range("A" & i).Value
Sheets(p).Range("A1:" & Chr(m + 64) & "1").Copy Sheets(h).Range("a1")
End If
n = 0
q = Sheets(p).Range("A" & i).Value
Sheets(p).Range("A" & i & ":" & Chr(m + 64) & i).Copy Sheets
(q).[a65536].End(3).Offset(1, 0)
End If
Next i
End Sub


4、将宏存为Excel Add In以便调用。路径按需存在容易找到的地。

5、加载存储的Excel Add In, 并建立快捷栏图表。


6、最后来试试效果。点快捷栏刚建立的图标。
