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

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


,
    推荐阅读
  • 以人为镜以事为鉴(以人为镜可以明得失)

    努尔哈赤劝袁崇焕投降,但遭到袁崇焕的拒绝。重伤下的努尔哈赤火冒三丈,当即想要同袁崇焕约下时间再次战斗。而后毛文龙前来拜谒袁崇焕,袁崇焕以上宾之礼接待毛文龙,毛文龙也不谦让,两人发生矛盾。皇帝朱由检得知后非常高兴,下令嘉奖袁崇焕的部下,并让袁崇焕统领指挥各地援军。慈禧发布对外宣战的谕旨。

  • 我国宝贵的历史文化遗产(各自有什么特色)

    下面更多详细答案一起来看看吧!我国宝贵的历史文化遗产我国宝贵的历史文化遗产有故宫、秦始皇兵马俑等。故宫是中国明清两代的皇家宫殿,旧称紫禁城,位于北京中轴线的中心。

  • 长沙首台迈凯伦p1(重庆第一台迈凯伦P1)

    相比于法拉利而言,迈凯伦显得更加“平民化”,拿迈凯伦570S举例子,3.8TV8双涡轮增压发动机,百公里加速只需3.1秒,全车都是碳纤维结构,售价只要260万,性价比秒杀所有法拉利车型,价格便宜配置还高。这台迈凯伦P1是12年9月份发布的车型,是一台油电混动车,最大马力超过900匹,百公里加速2.8秒。比如法拉利拉法,做为恩佐的继承者,拉法也是油电混动车,新车报价2000万,现在二手超过3000万,而且还是供不应求。

  • 指甲凹凸不平还有很多纹路(指甲凹凸不平颜色不一)

    比如缺少钙质,蛋白质等;同时接触冷水过多,天气寒冷血管收缩,或是真菌感染等,都会引起指甲凹凸不平。营养状态,患缺铁性贫血及造成肢端缺血的雷诺士病,皆可引起指甲凹陷症。寒冷因素,长期户外作业的人指甲凹陷的发生率明显高于其他工种。此外,指甲出现青色瘀斑,可提示中毒或早期癌症。

  • 产妇坐月子喝猪蹄汤怎么做(猪蹄汤需要注意什么地方)

    下面更多详细答案一起来看看吧!产妇坐月子喝猪蹄汤怎么做做法:将猪蹄洗净,姜、葱切段。烧一些开水,将猪蹄烫一下,俗称汆。主要靠这道工序将猪蹄汤变清淡。炖汤的锅内烧开水,或者倒入足量开水,放入煮过的猪蹄,加入葱、姜、料酒,小火炖2小时以上即可。这样煮出来的汤,油很少,有些奶白色。

  • 看完山村老尸感受(腐尸之屋到底讲了一个什么故事)

    于是Rick再次戴上地狱面具进入死亡世界救出了女友Jennifer。腐尸之屋3第三部游戏中,救回了女友的Rick结了婚,生了儿子David。然而地狱的怪物们并没有打算放过他们,Rick只能再次戴上地狱面具保卫自己的家人。经过重重困难,最终主角战胜了面具,做回了自己。整体来说,《腐尸之屋》并不是一款纯粹讲究血腥、暴力和爽快的游戏。游戏中出现了大量的男主角RICK的内心独白,无时不刻地透露着主角内心的挣扎。

  • 海仙花(海仙花的养殖方法和注意事项)

    海仙花别称朝鲜锦带、花关门、柴门关柴、临界海棠。海仙花形态特征海仙花是一种落叶灌木,枝繁叶茂,花期可长达数月,叶片多呈卵状,有些叶片叶尖稍尖,边缘有倒刺,叶柄比较短。花冠呈漏斗状钟形,花色深红色或紫红色。花期5-7月,果期9-10月。海仙花生长习性海仙花耐阴,耐寒,对环境适应性强,能耐贫瘠薄肥的土壤,当然在腐殖质丰富的土壤中生长更佳;怕涝。

  • 强迫症的意思是什么(强迫症是什么意思)

    接下来我们就一起去研究一下吧!强迫症的意思是什么强迫症主要是指有强迫思维和强迫行为的一类精神障碍,主要表现为重复动作、重复思维、重复行为等。强迫症发病率较高,且发病年龄较早。强迫症可与许多疾病共存,如焦虑、物质滥用、抑郁、抽动症及躯体疾病等。强迫症发病原因尚未明确,临床研究发现主要与遗传有关,还与神经生化异常如五羟色胺、多巴胺过剩等神经递质异常有关,此外还与社会心理有关。

  • 清远2022专升本考试考点地址 2019年专升本考试地点

    清远2022专升本考试考点地址防疫要求:1.所有考生须注册“粤康码”信息,未注册“粤康码”的考生不予打印准考证,不得参加考试。考试期间,考生提供粤康码、行程卡、考前48小时内核酸检测阴性证明和考生健康信息申报表供工作人员核验无异常后进入考点。

  • 福利礼包领取中心(开心就要送福利)

    最近有不少车手向小橘子发出了“真好玩警告”?!嘿嘿,为了庆祝新版本到来,小橘子早就给车手们准备好了这一轮福利活动轰炸咯,各种惊喜好礼、丰厚点券,全都免费送!!还记得昨天小橘子给车手们爆料的滑板玩法吗?过几天就是周末啦,还在上班上课的车手们,小橘子有丰厚福利抚慰哦~9月29日-9月30日完成指定任务,就能领取好礼辣!除了福利活动以外,小橘子还给车手们准备了特别惊喜哦!