肥宅钓鱼网
当前位置: 首页 钓鱼百科

excel拆分工作表代码如何写(有比这更快的Excel工作表拆分法吗)

时间:2023-07-19 作者: 小编 阅读量: 1 栏目名: 钓鱼百科

位置选择现有工作表,单击确定。选择“数据透视表工具”下方“设计”选项卡里的“报表布局”下拉菜单的“以表格形式显示”。为了方便后续处理,把数据透视表修改成普通表格。这样就能批量对所有工作表进行统一操作。全选复制粘贴为值。删除前两行,再把日期这列列宽调整一下就完成了。

作者:夏雪 转自:excel教程

各位小伙伴有没有遇到过这样的问题:当我们把所有的信息汇总在一张表里后,又需要将这张大表按某一条件再拆分成多个工作表。那怎么才能实现呢?可能最笨的方法就是在原工作表筛选数据然后复制粘贴到新工作表,不过这种方法不适合数据多的案例,并且新工作表也需要一一重命名,显得繁琐。今天就给大家介绍两种快捷实用的工作表拆分方法。
如图,现在要把这个工作表的内容按城市拆分成多个工作表。


第1种:

极速拆分——VBA(文中提供有代码)

VBA是EXCEL处理大量重复工作最好用的工具。不过很多人对VBA一窍不通,所以今天给大家分享一段代码,并且详细解释了如何根据实际表格修改代码值,方便大家在工作中使用。

(1)按住Alt F11打开VBA编辑器,点击“插入”菜单下的“模块”。

(2)在右侧代码窗口输入下列代码。

Sub 拆分表()

Dim i, iRow, iCol, t, iNum As Integer, sh As Worksheet, str As String

Application.ScreenUpdating = False

With Worksheets("Sheet1")

iRow = .Range("A65535").End(xlUp).Row

iCol = .Range("IV1").End(xlToLeft).Column

t = 3

For i = 2 To iRow

str = .Cells(i, t).Value

On Error Resume Next

Set sh = Worksheets(str)

If Err.Number <> 0 Then

Set sh = Worksheets.Add(, Worksheets(Worksheets.Count))

sh.Name = str

End If


sh.Range("A1").Resize(1, iCol).Value = .Range("A1").Resize(1, iCol).Value

iNum = sh.Range("A" & Rows.Count).End(xlUp).Row

sh.Range("A" & iNum1).Resize(1, iCol).Value = .Range("A" & i).Resize(1, iCol).Value

Next i

End With

Application.ScreenUpdating = True

End Sub



代码解析:

这里用红色文字表示需要根据实际修改的代码参数;'用于表示注释,其后的文字并不影响代码的运行,只是用于说明代码的。这里特意用灰色表示注释文字。

Sub 拆分表 '文件名称,根据自己的文件名修改

Dim i, iRow, iCol, t, iNum As Integer, sh As Worksheet, str As String

Application.ScreenUpdating = False '关闭屏幕刷新

With Worksheets("Sheet1") '双引号内是工作簿名称,根据实际工作簿名称修改

iRow = .Range("A65535").End(xlUp).Row '从A列的最后一行开始向上获取工作表的行数,一般只改动Range中的列参数,如要工作表有效区域是从B列开始的,值就是B65535

iCol = .Range("IV1").End(xlToLeft).Column '从最后列(IV)第1行开始向左获取工作表的列数,一般只改动Range中的行参数,如要工作表有效区域是从第2行开始的,值就是IV2

t = 3 't为列数,设置依据哪一列进行拆分,譬如,如果是按E列拆分,这里就是t=5

For i = 2 To iRow 'i为行数,设置从第几行开始获取拆分值,要根据工作表实际改动

str = .Cells(i, t).Value '获取单元格(i, t)的值作为拆分后的表格名称

On Error Resume Next

Set sh = Worksheets(str) '创建以上述获取值为名的工作表

If Err.Number <> 0 Then '如果不存在这个工作表则添加一个并命名

Set sh = Worksheets.Add(, Worksheets(Worksheets.Count))

sh.Name = str

End If '如果存在这个工作表

sh.Range("A1").Resize(1, iCol).Value = .Range("A1").Resize(1, iCol).Value '获取工作表标题,一般只改动Range的列值和Resize中的行值,譬如工作表的标题是从B列第3行开始的,则这句代码就变成 sh.Range("B1").Resize(3, iCol).Value = .Range("B1").Resize(3, iCol).Value'

iNum = sh.Range("A" & Rows.Count).End(xlUp).Row '一般只改Range中的列值,如工作表是从B列开始的,这里就变成Range("B" & Rows.Count).End(xlUp).Row

sh.Range("A" & iNum1).Resize(1, iCol).Value = .Range("A" & i).Resize(1, iCol).Value

'在新表中粘贴工作表数据,一般只改动Range的列值,若工作表是从B列开始的,则就改成B变成Range("B" & iNum1).Resize(1, iCol).Value = .Range("B" & i).Resize(1, iCol).Value

Next i

End With

Application.ScreenUpdating = True '打开屏幕刷新

End Sub

(3)代码输入完成后,点击菜单栏里的“运行子过程”。这样工作表就拆分完成了。


完成如下:


通过这种方式一键完成工作表拆分了。


第2种:

常规拆分——数据透视表

数据透视表真的非常好用,它不仅在数据统计分析上拥有绝对的优势,而且利用筛选页也可以帮助我们实现拆分工作表的功能。步骤如下:

(1)选择数据源任一单元格,单击插入选项卡下的“数据透视表”。位置选择现有工作表,单击确定。

(2)把要拆分的字段“城市”放到筛选字段,“日期”“业务员”字段放在行字段,“销售额”放在值字段。

(3)修改数据透视表格式,便于在生成新工作表的时候形成表格格式。

选择“数据透视表工具”下方“设计”选项卡里的“报表布局”下拉菜单的“以表格形式显示”。

选择“数据透视表工具”下方“设计”选项卡里的“报表布局”下拉菜单的“重复所有项目标签”。

选择“数据透视表工具”下方“设计”选项卡里的“分类汇总”下拉菜单的“不显示分类汇总”。

完成结果如下:

(4)最后把透视表拆分到各个工作表。选择“数据透视表工具”下方“分析”选项卡“数据透视表”功能块里的“选项”下拉菜单的“显示报表筛选页”,选定要显示的报表筛选页字段为“城市”。

(5)为了方便后续处理,把数据透视表修改成普通表格。选择第一个工作表 “北京”,按住Shift,点击最后一个工作表“重庆”,形成工作表组。这样就能批量对所有工作表进行统一操作。

全选复制粘贴为值。


删除前两行,再把日期这列列宽调整一下就完成了。结果如下:

数据透视表这种方法比较容易上手,但是步骤比较多,而VBA操作简单,但需要学习的东西很多。大家根据自己实际情况选择使用,觉得不错的话点赞吧!


,
    推荐阅读
  • 什么是高职(高职毕业后怎么提升学历)

    同时,高等职业教育也是我国职业教育体系中的高层次教育。考试对象仅限于各省、直辖市、全日制普通高校的专科应届毕业生。个别省份的命名有所差别,如河北省称为普通高校专接本,广东省称为普通高校专插本,江苏省称为普通高校专转本,其余省份皆称为普通高校专升本。第二类是成人高等教育专升本。其拥有四种途径:包括自考专升本、成人高考专升本、网络教育专升本、开放大学专升本。

  • 在游戏中适合当老婆的角色(老婆变性成老公)

    现阶段,《神觉者》仅在海外开启了测试,根据厂商“莉莉丝游戏”惯有的出海策略来推断,至少在前期,作品大概率以外服为主,是否进军国服则取决于版号等政策问题。而《神觉者》则不然,囿于游戏本身的设定,角色们都确切拥有觉醒的“神格”,因此它无法按照淡化“孙悟空”这个标签的方式去解决问题,于只能选择改变角色本身。

  • 量子发动机原理(快来一起看看吧)

    量子发动机是基于普通四冲程内燃机的循环原理提出这一理论的普通四冲程内燃机的活动活塞可将燃料吸进气缸然后压缩点火,燃料受热膨胀后推动活塞向外,产生的热量随废气一并排出,现在小编就来说说关于量子发动机原理?量子发动机原理量子发动机是基于普通四冲程内燃机的循环原理提出这一理论的。量子发动机,利用一个量子加力燃烧室,将尾气中的热量转化为激光,从而给汽车发动机提供更高效的动力。

  • 乌龟可以活多久(乌龟的寿命一般多少年)

    寿命最长的乌龟有达到176岁的,它是一只巨大的加拉帕戈斯陆龟,名叫哈里特,所以乌龟的寿命与生活环境是有关系的。虽然民间有传说乌龟可以活到一万年,但是目前还没有证实这一说法,所以虽然乌龟可以生长的确实很慢,但是不至于生长到一万年还继续存在。

  • 学生励志经典短句(关于学生的励志句子)

    学生励志经典短句少年自有少年狂,藐昆仑,笑吕梁;磨剑数年,今将试锋芒。自命不凡不可取,妄自菲薄更不宜。懦弱的人害怕孤独,理智的人懂得享受孤独。宽容润滑了彼此的关系,消除了彼此的隔阂,扫清了彼此的顾忌,增进了彼此的了解。滴水能穿石,只因为它永远打击同一点。尊重是一缕春风,一泓清泉,一颗给人温暖的舒心丸,一剂催人奋进的强心剂。

  • 八宝止血药墨的功效与作用 八宝灵丹药墨功效

    生病吃药这是天经地义的事情,但是对于吃药的时候我们还是需要先了解一下这些药物的功效和一些注意事项等,以免出现问题,那么下面我们就了解一下八宝止血药墨这种中药方剂。《全国中药成药处方集》(沈阳方)看完了上面的介绍后,大家是否对八宝止血药墨有一定的了解了呢。其实八宝止血药墨本身是没有什么害处的,但是因为每个人的体质不同,有些人不适合服用,所以大家一定要在吃之前,咨询医生,问清楚后再食用。

  • 刘解放是哪部电视剧叫什么名字(剧中刘解放的人物形象了解一下)

    刘解放是哪部电视剧叫什么名字是《同龄人》,是山东影视中心及北京电视台联合出品的年代情感剧,由王滨执导,许晴、任程伟、程前及萨日娜共同主演。刘解放与童楠楠是对青梅竹马的恋人,但由于童楠楠的海外身份,二人为了前途事业被迫分手,刚刚失去了心爱的恋人,刘解放未能免俗的步入了一场政治婚姻。从文化大革命后期、四人帮倒台到南疆战役、唐山大地震,汶川大地震,奥运会以及国庆阅兵。

  • 交罚单都需要什么(交罚单需要啥)

    驾驶证全称为机动车驾驶证,又作驾照,依照法律机动车辆驾驶人员所需申领的证照。中国对驾驶证的定义为,机动车驾驶证是指依法允许学习驾驶机动车的人员,经过学习,掌握了交通法规知识和驾驶技术后,经管理部门考试合格,核发许可驾驶某类机动车的法律凭证。2017年1月16日,北京正式核发网约车驾驶员资格证。货车,公共汽车等。各国对申请驾驶证的最低年龄有不同的标准。

  • 好听的翡翠名字(关于好听的翡翠名字)

    接下来我们就一起去了解一下吧!好听的翡翠名字玺翠。金玉缘三个字参考了电视剧《金玉良缘》,电影电视剧改成翡翠店名很有创意,取其中金玉缘三个字,意味着翡翠店与顾客有缘分,可以维持顾客的感情,增加新客人

  • 毛巾用时间长了发硬怎么变软 毛巾用时间长了发硬怎么处理

    然后再用清水清洗,带着水凉于通风处,晾干后,毛巾就会恢复柔软。