前一篇分享了用宏处理合并多页数据到同一页。工作中同样会碰到需要将同一页数据按类别分开到多页。当然拷贝,拷贝,再拷贝也是能解决问题的,但每次都做重复的工作那也叫一个烦啊。既然可以一键合并,当然也可以一键分页。
请这就往下看。
前期准备工作(包括相关工具或所使用的原料等)
Excel2013详细的操作方法或具体步骤
建立一个每日产出数据统计表格。如图。
注意此例中代码是按照A列名称分页的。如若想直接用此代码,请将需要的分类列放到A列。

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

打开刚才建立的空宏并插入如下斜体加黑代码。
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


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

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


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

注意事项
如若此经验对您有些许帮助,烦请点击右上角大拇指或五角星图标。感谢!经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
