首页 » SEO优化 » phpmysqlinumrows技巧_有比这更快的工作表拆分法吗有你就最牛Excel自学教程

phpmysqlinumrows技巧_有比这更快的工作表拆分法吗有你就最牛Excel自学教程

访客 2024-11-19 0

扫一扫用手机浏览

文章目录 [+]

如图,现在要把这个事情表的内容按城市拆分成多个事情表。

第1种:极速拆分——VBA(文中供应有代码)

phpmysqlinumrows技巧_有比这更快的工作表拆分法吗有你就最牛Excel自学教程

VBA是EXCEL处理大量重复事情最好用的工具。
不过很多人对VBA一窍不通,以是本日给大家分享一段代码,并且详细阐明了如何根据实际表格修正代码值,方便大家在事情中利用。

phpmysqlinumrows技巧_有比这更快的工作表拆分法吗有你就最牛Excel自学教程
(图片来自网络侵删)

(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\"大众 & iNum + 1).Resize(1, iCol).Value = .Range(\"大众A\"大众 & i).Resize(1, iCol).Value Next i End WithApplication.ScreenUpdating = TrueEnd 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\公众 & iNum + 1).Resize(1, iCol).Value = .Range(\"大众A\"大众 & i).Resize(1, iCol).Value

'在新表中粘贴事情表数据,一样平常只改动Range的列值,若事情表是从B列开始的,则就改成B变成Range(\"大众B\"大众 & iNum + 1).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操作大略,但须要学习的东西很多。
大家根据自己实际情形选择利用,

以为不错的话点个关注吧!

有干系问题可不才方评论,禁绝时解答!

标签:

相关文章

今日头条算法岗三面算法工程师的面试之路

大数据和人工智能技术逐渐成为各行各业的热门话题。今日头条作为中国领先的资讯平台,其算法岗位一直是求职者争相竞逐的焦点。本文将针对今...

SEO优化 2025-01-31 阅读1 评论0

今日头条算法如何打造个化内容推荐

在移动互联网时代,信息爆炸已成为常态。如何在海量信息中找到自己感兴趣的内容,成为了一个亟待解决的问题。今日头条作为一款备受瞩目的新...

SEO优化 2025-01-31 阅读1 评论0

今日头条算法推荐其弊端与反思

算法推荐已经成为各大平台的核心竞争力。今日头条作为国内领先的资讯平台,凭借其强大的算法推荐系统,吸引了大量用户。在享受算法带来的便...

SEO优化 2025-01-31 阅读1 评论0

今日头条算法思维导图信息推荐的奥秘

信息传播速度越来越快,用户对信息的需求也越来越多样化。今日头条作为一款备受关注的新闻资讯平台,其背后的算法推荐机制一直是业界关注的...

SEO优化 2025-01-31 阅读1 评论0