将excel中的一个工作表按照某列拆分成多个sheet工作表
如何将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工作表相关推荐
- python 拆分excel单元格_Python怎么在Excel中把一个单元格里的内容拆分提取?:excel表格已拆分的数据提取...
Python怎么在Excel中把一个单元格里的内容拆分提取? 有规律的话写代码可以处理,没有就没有办法 如何将EXCEL表中的数据分离出来? 如图,B1输入:=LEFT(A1,FIND("排 ...
- excel将一个工作表根据条件拆分成多个sheet工作表
本例介绍在excel中如何将一个工作表根据条件拆分成多个工作表.注意:很多朋友反映sheets(i).delete这句代码出错,要注意下面第一个步骤,要拆分的数据工作表名称为"数据源&quo ...
- python将工作表根据一列拆分成多个独立的sheet工作薄
一.实现效果 在通常情况下,我们可以用VBA的方式将Excel工作薄根据条件拆分成独立的工作薄,在这里我们通过Python来进一步实现. →→→根据"部门"条件进行拆分←←← 二. ...
- 如何把excel中的多行数据按行数拆分成多个
原创链接 知乎 郭大牛 谢谢!解决了问题仅此记录一下 https://zhuanlan.zhihu.com/p/81580481?from_voters_page=true 首先打开一个excel 添 ...
- mysql表的一列拆分成两列_将float值拆分成MySQL表的两列?
要将float值分成两列,第一列将有一个十进制前的值.第二列将在小数点后有一个值.为此,您可以将SUBSTRING_INDEX()与一起使用CAST().让我们首先创建一个表-mysql> cr ...
- html5 操作excel,html5读取excel表格/在Excel中,一个表格引用另一个表格的数据,用哪些公式进行操作?...
如何在一个excel表格中获取另一个excel表格中的表格一的表格名并且引用这个表格中的数据? 写代码来实现! 在Excel中,一个表格引用另一个表格的数据,用哪些公式进行操作? 在Excel中,一格 ...
- c# 一个月中的工作日_在Excel中查找一个月中的第N个工作日
c# 一个月中的工作日 Some events occur on the Nth weekday of a specific month each year. Maybe your book club ...
- excel拆分为多个sheet工作表或多个单独的excel文件。超好用
excel拆分 一.前言 二.准备员工信息表测试数据 三.拆分 三(1):根据所在分公司列拆分为多个sheet 操作步骤 1. 选中要拆分的sheet,右键单击"查看代码",如图: ...
- pandas从dataframe中删除一个或多个数据列
pandas从dataframe中删除一个或多个数据列 目录 pandas从dataframe中删除一个或多个数据列 #删除数据列的基本语法
最新文章
- 多角度人脸识别简单介绍
- 五大主流深度学习框架Google趋势比较
- 串的模式匹配、KMP算法、nextval数组求法
- java 正则表达式 替换字符串img标签的路径_python面试题汇总第06期-正则表达式(内附7题及答案)...
- 五天学习MySQL数据库(一)1.3MySQL 基本介绍
- 网站报错时,自动跳转到指定报错页(error.html)的办法
- HDU 1160 FatMouse#39;s Speed DP题解
- 排序算法(二)--选择排序法
- 新增SDK 错误解决办法
- java element string_Java StackTraceElement toString()方法
- 「干货」模拟信号和数字信号的差异
- Ultra Librarian 生成Orcad封装教程
- 福州发布《关于运用大数据加强对市场主体服务和监管实施方案》
- TF-IDF算法java实现【转载】
- 计算机基础知识——基础入门(一)
- Python实现Flesch阅读易读性公式计算
- CCleaner解决的三个问题
- CPTN代码运行报错
- 2023年河北医科大学临床检验诊断学考研分享
- 电商客服系统功能需求点-实现电商多商家客服系统