Option Explicit
Option Base 1Sub SplitData()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

根据某一列拆分Excel为多个表格相关推荐

  1. python按某列拆分excel表格_python带格式拆分excel表单,copy库完美搞定

    python拆分excel表单,生成单独的excel文件,网上这方面的文章很多.但大多只讲主功能如何实现,让拆分后的表保持和原表单一致的格式,则鲜有人讲.本文通过调用copy库,完美实现带格式拆分表单 ...

  2. python按某列拆分excel表格_利用Python+Pandas实现从一个excel表中提取列形成新表

    简要 利用python实现把一个工作表中的某些列,和其中单独的一列,提取成为一个个新表. 如图(处理前)蓝色部分是需要保留的列,红色是需要一项一项分出来作为单独表格的列. 其中,第一行的名字是用的回车 ...

  3. php按一列拆分excel表格,excel表格要根据某一列数据拆分-excel怎么按照某一列拆分表格...

    求助:一张excel表,希望按照某列内容(比如某列为... 是把这一列进行筛选或者排序,然后不断制到新表中,如果较多,可以VBA进行自动的复制和新建文件. 如果需要代劳,可以[百度云盘](一个使用百度 ...

  4. python处理数据——根据某列拆分excel文件

    需求 这里想要把一个大excel根据某列拆分为多个小的excel,再投递到队列中,以提高处理效率. 实现方法 这里的python代码非常简单: import pandas as pd import o ...

  5. python按某列拆分excel表格_Python实现将excel表格按某列拆分为多个sheet(模板格式不变)...

    #将一个excel表格,按照某列分为不同的sheet,并且将id作为sheet表格的名称 from openpyxl import load_workbook #加载需要拆分的总表个 wb = loa ...

  6. python按某列拆分excel表格_把一张Excel表按照固定列分成不同工作薄的小白方法...

    这是结合百度经验和论坛上的资料整理的方法,分两步,第一步是把一个完整的工作表按照某一列分解为不同的工作表.第二步是把这些工作表在分别拆为工作薄. 个人觉得这是一个相对比较简单的方法,也尝试用Pytho ...

  7. python按某列拆分excel表格_Python对Excel按列值筛选并拆分表格到多个文件的代码...

    场景:集团中心下发本省数据时,并未按地市.业务拆分,现需要按地市.业务拆分并分发到地市. 本文利用Python的pandas包实现了以上场景. 注:本示例代码只实现按单列拆分,如果需要多列筛选拆分,请 ...

  8. python怎样按某一列值拆分Excel表格

    pd.ExcelWriter@python 用python按某一列拆分Excel工作表,将内容写入一个工作簿 本次以"按照表中的某一列,将一张表格拆分为多张表"的需求为例,简单介绍 ...

  9. Excel·VBA按列拆分工作表、工作簿

    改进<将excel按照某一列拆分成多个文件>,使代码更具通用性,可以实现将工作表拆分为工作表或工作簿 对Excel表格数据按照某列的值,将工作表拆分 目录 1,工作表按列拆分为工作表 2, ...

最新文章

  1. 腾讯云+未来高峰对话:智能+时代的创新与探索
  2. Algs4-1.4.7统计算术运算与比较次数
  3. HTML areamap标签及在实际开发中的应用
  4. 工具推荐:22款最流行的计算机取证工具【2017年更新版】
  5. 【springboot】启动时指定lib目录
  6. composer 笔记
  7. 【转】刨根究底CSS(2):CSS中的各种值——初始值,就是默认值吗?
  8. C++11:右值引用和转移赋值
  9. nacos集成dubbo实现远程服务调用多服务端2
  10. 云端调用android函数,【探坑】Bmob的云端逻辑
  11. CCF NOI1003 猜数游戏
  12. 数据库中的字段NULL值和''
  13. python实现典型相关分析_典型相关分析 CCA
  14. Unity 工具之 UniWebView 内嵌网页/浏览器到应用中,并且根据UGUI大小放置(简单适配UGUI)
  15. 利用IAR软件,将KEIL项目工程直接转换IAR项目工程
  16. 管理造成的问题:京东商城后台语言改用java
  17. 中兴f460光猫资料
  18. 西门子触摸屏程序锁屏V1.0
  19. 一、用于数据分析的Excel技巧
  20. ToB和ToC端产品分别指什么

热门文章

  1. C++一周学习总结(2021/05/03)
  2. 手把手教你接入微信开放平台,实现网站拉起微信账号登录,从0开始详细记录
  3. 如何快速实现微信账号的注销,福利在这里,怎样快速注销微信账号
  4. 2020NPDP产品经理认证考试备考心得-郑沂
  5. Antd给表格一个斜线分隔
  6. React SSR 服务器端渲染
  7. 关于模型训练的时候所需要的GPU显存的计算以及模型参数,计算量的计算
  8. 二叉树的基本性质及证明
  9. Function的含义
  10. PHP 通过身份证号判断年龄(周岁)