分享

轻松搞定Excel拆分工作表

 昵称7665211 2013-03-10

轻松搞定Excel拆分工作表

时间:2012-02-01 08:52来源:跟我学电脑
-

相信不少朋友都遇到过这样棘手的问题,把总表中的大量的数据拆分成多个子表。常规的方法是排序后分类拆分工作表,这个过程要不停地复制、粘贴数据,很是麻烦。我提供一个简单的方法,制作一个“拆分总表”按钮。在“总表”中利用“控件工具箱”绘制一个命令按钮,在该按钮中输入代码:

'删除所有分表(只保留名为 "总表"的工作表)

For Each sht In Sheets

If sht.Name <> "总表" Then sht.Delete

Next

'加入新表,避免破坏原数据中的公式或格式

Sheets("总表").Copy Before:=Sheets(1)

ICol = Application.InputBox("请输入你所要拆分的列:(如按D列拆分请输入4)", "提示:", "2", Type:=1)

If ICol = "" Then Exit Sub

On Error Resume Next

With Sheets("总表 (2)")

irow = .[a1].CurrentRegion.Rows.Count

For i = 2 To irow

Cells(i, ICol) = " ' " & Cells(i, ICol) '在原工作表中生成文本符号

Next

For i = 2 To irow

H.Add .Cells(i, ICol), CStr(.Cells(i, ICol))

Next

'建立一个不重复的筛选条件

For i = 1 To H.Count

.Cells.AutoFilter field:=ICol, Criteria1:=H(i)

Sheets.Add(after:=Sheets(Sheets.Count)).Name = H(i)

.[a1].CurrentRegion.Copy Sheets(CStr(H(i))).[a1] '自动筛选,并复制到新建的表中

irow1 = [a1].CurrentRegion.Rows.Count

For j = 2 To irow1

Cells(j, ICol) = Right(Cells(j, ICol), Len(Cells(j,

file://D:\Program Files\cpcw\PCWReadSys2012\skin\A冬日暖阳\file.htm 2012-2-1

《中国计算机年鉴 2007》页码,2/2

ICol))) '消除新工作表中文本符号

Next j

.Cells.AutoFilter

Debug.Print H(i)

Next i

.Delete '操作表此时已多余,故删除

End With

A.Parent.Activate '激活汇总表的单元格

轻松搞定Excel拆分工作表

以后,单击“拆分总表”按钮,在弹出的对话框中输入分表字段的列号(例如按D列拆分则输入“4”),点击“确定”按钮即可。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约