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

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操作简单,但需要学习的东西很多。大家根据自己实际情况选择使用,觉得不错的话点赞吧!


,
    推荐阅读
  • 养羊人怎么预防布病,布病可以彻底治愈吗

    如果检查出布病羊,一定要将其进行淘汰,并增加布病的检查次数。如果对布病有担心或害怕,可以接受药物治疗6周左右。对于家畜要进行定期检疫,发现病畜后要将其进行隔离治疗,病畜产物和死畜一定要深埋。

  • 鸡腿菇的营养价值(鸡腿菇的营养价值介绍)

    我们一起去了解并探讨一下这个问题吧!鸡腿菇的营养价值鸡腿菇袋营养丰富、味道鲜美,口感极好,经常食用有助于增进食欲、消化、增强人体免疫力,具有很高的营养价值。鸡腿蘑还是一种药用蕈菌,味甘性平,有益脾胃、清心安神、治痔等功效,经常食用有助消化、增进食欲和治疗痔疮的作用。

  • 关于珍珠鸟的繁殖应注意什么(关于珍珠鸟的繁殖的注意事项)

    巢最好是暗巢在笼内准备一些筑巢材料,我来为大家科普一下关于关于珍珠鸟的繁殖应注意什么?关于珍珠鸟的繁殖应注意什么巢最好是暗巢。如果想让他们快点繁殖,可以喂蛋小米。具体做法如下:蒸蛋米:小米500克,用生鸡蛋黄3-4个搅和。用文火将小米炒至微黄,停火。将蛋黄和小米搅拌匀均,装入容器用高温加热4分钟左右取出,搓散荫干即成。

  • 地震注意事项(地震时应该注意什么?)

    地震注意事项震时就近躲避,震后迅速撤离到安全的地方。但若在平房里,发现预警现象早,室外比较空旷,则可力争跑出避震。应趴下,使身体重心降到最低,脸朝下,不要压住口鼻,以利呼吸;蹲下或坐下时尽量蜷曲身体;抓住身边牢固的物体,以防摔倒或因身体移位,暴露在坚实物体外而受伤。无论在什么场合,街上、公寓、学校、商店、娱乐场所等,均如此。因为,拥挤中不但不能脱离险境,反而可能因跌倒、踩踏、碰撞等而受伤。

  • 太阁立志传V(太阁立志传v dx攻略)

    太阁立志传5DX舞台为16世纪的日本。玩家将扮演以秀吉为首驰骋战国乱世的史实人物,实现他们各自的梦想。丽璐结婚方法介绍丽璐结婚方法1.拉斐尔、丽璐、南蛮寺里的两位神父好感度高。

  • 昆明烧烤中毒(银川一烧烤店6名食客一氧化碳中毒)

    昆明烧烤中毒8月18日晚,位于银川市兴庆区治平路的“小胡子烧烤”上前城店内发生意外,6名在包间就餐的食客均出现头晕、恶心症状,其中包括一名11岁男童。事发后,6人先后到宁夏医科大学总医院就诊,经医生检查,均出现不同程度一氧化碳中毒症状,现正接受治疗。胡某表示,自己有着30年餐饮行业经验,出现这样的安全事件实属不该,既然已经发生,将认真吸取教训,进行整改。

  • 宝来水泵更换步骤(具体怎么操作)

    跟着小编一起来看一看吧!宝来水泵更换步骤首先放尽冷却水(液),拆下散热器进、出水软管及旁通软管,取出暖器软管,卸下V带及带轮。然后拧下水泵的固定螺栓,拆下水泵总成。清除水泵表面脏污,将水泵固定在夹具或台虎钳上。拧松并拆卸水泵前壳体的紧固螺栓,将前泵壳段整体卸下,并拆下衬垫。用拉具拆卸水泵叶轮,应仔细操作,防止损坏叶轮。

  • 安慰自己的暖心句子简短(安慰自己的说说)

    安慰自己的暖心句子简短每个人的性格中,都有某些无法让人接受的部分,再美好的人也一样;所以不要苛求别人,也不要埋怨自己。把自己的身体照顾好,把自己喜欢的事做好,把自己重要的人待好,你要的一切都在路上。日子一天天过去,讨厌的人会带着讨人厌的话离开,喜欢的人会带着美好的事到来。把目光放在别处,洒脱还给自己。花开有时,花落有时。无需留恋,该走的终须会走;无需苛求,该来的迟早会来。

  • 为什么仓鼠容易拉稀(仓鼠会拉稀吗)

    若是仓鼠出现食欲不振、精神不佳、湿尾等情况,就要带去医院检查,耽误治疗时间危害仓鼠的生命安全。

  • 北京前十名画室排名(北京画室最新十大画室排名大全)

    对于现在美术生来说,能够选择一家正规的美术集训画室进行学习来提高自己的学习成绩是一件非常重要的事情,在北京上千家画室中挑选正确的画室确是一件不是很容易的事情,在北京画室而言,北京地理位置比较有优越性,整体资源比较好,教学式管理模式受到众多美术生和家长的高度推荐,下面小编就带大家一起了解一下北京画室的排名情况。北京画室最新十大画室排名大全、千万不要错过哦!