如何将excel中的一个工作表按照某列拆分成多个sheet工作表呢?接下来就利用VBA工具来解决这个问题。
拆分之前的工作表:


拆分之后的工作表:

操作步骤具体如下:

第一步:打开需要拆分的表格文件:点击“开发工具—>查看代码”命令,如图所示:

第二步:右击“WPS表格对象—>插入—>模块”命令,如何所示:

第三步:在新建的“模块1”中粘贴VBA代码:如图所示:

具体代码如下:

Option Explicit
Option Base 1Sub 按指定列分组拆分数据()Application.ScreenUpdating = FalseApplication.DisplayAlerts = FalseDim self As WorksheetSet self = ActiveSheetDim nLastRowNum As LongDim nLastColumnNum As LongDim i As Long' 删除其他的sheetFor i = Sheets.Count To 1 Step -1If Sheets(i).Name <> self.Name ThenSheets(i).DeleteEnd IfNext iApplication.DisplayAlerts = TrueApplication.ScreenUpdating = True'获取全部数据范围nLastRowNum = Cells(Rows.Count, 1).End(xlUp).RownLastColumnNum = Cells(nLastRowNum, Columns.Count).End(xlToLeft).Column'获取标题Dim titleRange As RangeSet titleRange = Application.InputBox(prompt:="请选择标题区域:将要当做标题行的每一个单元格", Type:=8)' 有效数据开始行Dim nRowValidData As LongnRowValidData = titleRange.Row + titleRange.Rows.Count' 获取拆分列的信息,只需要列号Dim splitColumnRange As RangeSet splitColumnRange = Application.InputBox(prompt:="请选择拆分的列:选择任何一个该列的单元格即可", Type:=8)Dim columnNumToSplit As LongcolumnNumToSplit = splitColumnRange.Column' 需要拆分的值字典Dim splitValueDict As Object' 辅助字典用来保证顺序Dim splitValueDictReverse As ObjectDim indexArray() As LongSet splitValueDict = CreateObject("Scripting.Dictionary")Set splitValueDictReverse = CreateObject("Scripting.Dictionary")Dim cellValue As StringDim ws As WorksheetFor i = nRowValidData To nLastRowNum Step 1cellValue = Cells(i, columnNumToSplit).Text'1. 创建新的sheet;'2. 拷贝标题信息到新的sheetIf Not splitValueDict.Exists(cellValue) ThensplitValueDict(cellValue) = isplitValueDictReverse(i) = cellValueSet ws = Sheets.Add(After:=Worksheets(Worksheets.Count))ws.Name = cellValueself.ActivatetitleRange.Copy _ws.Range(ws.Cells(titleRange.Row, titleRange.Column), ws.Cells(nRowValidData - 1, titleRange.Column))End If' 拷贝其他内容Range(Cells(i, 1), Cells(i, nLastColumnNum)).Copy _GetLastPasteRangeBySheetName(cellValue, nLastColumnNum)Next iEnd SubPublic Function GetLastPasteRangeBySheetName(ByRef SheetName As String, columnNum As Long) As VariantDim wks As WorksheetDim nLastRowNum As LongSet wks = ActiveWorkbook.Worksheets(SheetName)nLastRowNum = wks.Cells(wks.Rows.Count, 1).End(xlUp).RowSet GetLastPasteRangeBySheetName = wks.Range(wks.Cells(nLastRowNum + 1, 1), wks.Cells(nLastRowNum + 1, columnNum))End Function

第四步:点击“开发工具—>VB宏”命令,单击运行,如图所示:

第五步:选择拆分后在工作表(sheet)中需要显示的标题,点击确定,如图所示:

第六步:选择以某列进行拆分的条件(注意:本次是以“班级”为条件进行拆分),点击确定。如图所示:

这样就大功告成了!

将excel中的一个工作表按照某列拆分成多个sheet工作表相关推荐

  1. python 拆分excel单元格_Python怎么在Excel中把一个单元格里的内容拆分提取?:excel表格已拆分的数据提取...

    Python怎么在Excel中把一个单元格里的内容拆分提取? 有规律的话写代码可以处理,没有就没有办法 如何将EXCEL表中的数据分离出来? 如图,B1输入:=LEFT(A1,FIND("排 ...

  2. excel将一个工作表根据条件拆分成多个sheet工作表

    本例介绍在excel中如何将一个工作表根据条件拆分成多个工作表.注意:很多朋友反映sheets(i).delete这句代码出错,要注意下面第一个步骤,要拆分的数据工作表名称为"数据源&quo ...

  3. python将工作表根据一列拆分成多个独立的sheet工作薄

    一.实现效果 在通常情况下,我们可以用VBA的方式将Excel工作薄根据条件拆分成独立的工作薄,在这里我们通过Python来进一步实现. →→→根据"部门"条件进行拆分←←← 二. ...

  4. 如何把excel中的多行数据按行数拆分成多个

    原创链接 知乎 郭大牛 谢谢!解决了问题仅此记录一下 https://zhuanlan.zhihu.com/p/81580481?from_voters_page=true 首先打开一个excel 添 ...

  5. mysql表的一列拆分成两列_将float值拆分成MySQL表的两列?

    要将float值分成两列,第一列将有一个十进制前的值.第二列将在小数点后有一个值.为此,您可以将SUBSTRING_INDEX()与一起使用CAST().让我们首先创建一个表-mysql> cr ...

  6. html5 操作excel,html5读取excel表格/在Excel中,一个表格引用另一个表格的数据,用哪些公式进行操作?...

    如何在一个excel表格中获取另一个excel表格中的表格一的表格名并且引用这个表格中的数据? 写代码来实现! 在Excel中,一个表格引用另一个表格的数据,用哪些公式进行操作? 在Excel中,一格 ...

  7. c# 一个月中的工作日_在Excel中查找一个月中的第N个工作日

    c# 一个月中的工作日 Some events occur on the Nth weekday of a specific month each year. Maybe your book club ...

  8. excel拆分为多个sheet工作表或多个单独的excel文件。超好用

    excel拆分 一.前言 二.准备员工信息表测试数据 三.拆分 三(1):根据所在分公司列拆分为多个sheet 操作步骤 1. 选中要拆分的sheet,右键单击"查看代码",如图: ...

  9. pandas从dataframe中删除一个或多个数据列

    pandas从dataframe中删除一个或多个数据列 目录 pandas从dataframe中删除一个或多个数据列 #删除数据列的基本语法

最新文章

  1. 多角度人脸识别简单介绍
  2. 五大主流深度学习框架Google趋势比较
  3. 串的模式匹配、KMP算法、nextval数组求法
  4. java 正则表达式 替换字符串img标签的路径_python面试题汇总第06期-正则表达式(内附7题及答案)...
  5. 五天学习MySQL数据库(一)1.3MySQL 基本介绍
  6. 网站报错时,自动跳转到指定报错页(error.html)的办法
  7. HDU 1160 FatMouse#39;s Speed DP题解
  8. 排序算法(二)--选择排序法
  9. 新增SDK 错误解决办法
  10. java element string_Java StackTraceElement toString()方法
  11. 「干货」模拟信号和数字信号的差异
  12. Ultra Librarian 生成Orcad封装教程
  13. 福州发布《关于运用大数据加强对市场主体服务和监管实施方案》
  14. TF-IDF算法java实现【转载】
  15. 计算机基础知识——基础入门(一)
  16. Python实现Flesch阅读易读性公式计算
  17. CCleaner解决的三个问题
  18. CPTN代码运行报错
  19. 2023年河北医科大学临床检验诊断学考研分享
  20. 电商客服系统功能需求点-实现电商多商家客服系统

热门文章

  1. python绘制激活函数图像
  2. sqlserver2012用ip远程连接设置
  3. PTA 数据结构 修理牧场
  4. Idea 合并分支只选取部分文件的办法
  5. 总裁演说思维:商务谈判最经典的12个技巧
  6. 销售谈判技巧培训分享
  7. 第2章第24节:文字云:实现非常有创意的文字组织方式 [PowerPoint精美幻灯片实战教程]
  8. 可跨页字符串:使用Spans设置文本样式
  9. 2021.10.9小米一面
  10. 嵌入式和Linux知识总结