1. 如下Excel表,总共有120多行数据,如何将以50行数据为一个工作表进行拆分
Sub ZheFenSheet() Dim r, c, i, WJhangshu, WJshu, bt As Long
r = Range("A" & Rows.Count).End(xlUp).Row
b = InputBox("请输入分表行数")
If IsNumeric(b) Then
WJhangshu = Int(b)
Else
MsgBox "输入错误", vbOKOnly, "错误"
End
End If
c = Cells(, Columns.Count).End(xlToLeft).Column
bt = '标题行数
'WJhangshu = 50 '每个文件的行数
WJshu = IIf(r - bt Mod WJhangshu, Int((r - bt) / WJhangshu), Int((r - bt) / WJhangshu) + ) '------
Set fs = CreateObject("Scripting.FileSystemObject") ' For i = To WJshu
Workbooks.Add
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(i + , String(Len(WJshu), )) & "." & fs.GetExtensionname(ThisWorkbook.FullName) '扩展名
Application.DisplayAlerts = True
ThisWorkbook.ActiveSheet.Range("A1").Resize(bt, c).Copy ActiveSheet.Range("A1")
ThisWorkbook.ActiveSheet.Range("A" & bt + i * WJhangshu + ).Resize(WJhangshu, c).Copy _
ActiveSheet.Range("A" & bt + )
ActiveWorkbook.Close True
Next End Sub

2.  如下Excel表  按照 XX 列 工作表进行拆分

' 如下Excel表  按照 XX 列 工作表进行拆分

' 第三列 任务负责人 ,关键字
' ******************************************
' -----------------------------------------
' Str = Arr(i, 1) '第一列 任务负责人 ,关键字 Sub 如何将一个Excel工作表的数据拆分成多个工作表()
Dim Arr, Rng As Range, Sht As Worksheet, Dic As Object
Dim k, t, Str As String, i As Long, lc As Long Application.ScreenUpdating = False '关闭屏幕更新
Arr = Range("A1").CurrentRegion.Value lc = UBound(Arr, ) '求取最后一列的列号 Set Rng = Rows() '标题行
Set Dic = CreateObject("Scripting.Dictionary") '创建字典 For i = To UBound(Arr) '-----------------------------------------
Str = Arr(i, ) '第一列 拆分 订单号,关键字
'----------------------------------------- If Not Dic.Exists(Str) Then '如果字典没有关键字
Set Dic(Str) = Cells(i, ).Resize(, lc) '把当前行装入到字典中
Else '否则(字典中存在关键字)
Set Dic(Str) = Union(Dic(Str), Cells(i, ).Resize(, lc)) '把行连合起来
End If Next k = Dic.Keys '字典关键字集合
t = Dic.Items '字典项目集合
On Error Resume Next
With Sheets
For i = To Dic.Count - '循环关键字的个数
Set Sht = .Item(k(i)) '给变量赋值(工作表名为关键字)
If Sht Is Nothing Then '该工作表不存在则插入一个空工作表
.Add(After:=.Item(.Count)).Name = k(i) '新建的工作表将置于所有工作表之后,并命名为关键字
Set Sht = ActiveSheet '活动工作表给变量
Else '否则
Sht.Cells.Clear '清除工作中所有内容和格式
End If
Rng.Copy Sht.Range("A1") '把标题写入第一行
t(i).Copy Sht.Range("A2") '写入其他内容
Sht.Cells.EntireColumn.AutoFit '自动调整全工作表单元格的列宽
Set Sht = Nothing '变量处于初始状态
Next
End With
Sheets().Activate '第1个工作表处于激活状态
Application.ScreenUpdating = True '打开屏幕更新
End Sub

Excel 一个工作表进行按行数拆分的更多相关文章

  1. EXCEL 如何将多个工作表或工作簿合并到一个工作表

    在使用Excel 时,我们经常需要将多个工作表或工作簿合并到一个工作表中,这样我们就能快速地对数据进行分析和统计.对于一般用户而言,除了复制每个工作表后再粘贴,没有其他什么方法了.如果只是合并少数几个 ...

  2. 使用一个T-SQL语句批量查询数据表占用空间及其行数

    原文:使用一个T-SQL语句批量查询数据表占用空间及其行数 要找到数据库中数据表占用的空间和存在的行数.可以使用sp_spaceused搭配数据表的名称.就可以产生该表耗用的空间和现有行数. 如: U ...

  3. Excel 2010 如何将筛选后的数据复制粘贴到另一个工作表筛选后的表格里

    如果你是指自动筛选后,把筛选数据复制/粘贴到另外一个工作表中,不妨试试试 第一步选中筛选后的数据区域:第二步执行菜单命令“编辑/定位/定位条件/可见单元格”,确定:第三步单击复制按钮或者Ctrl+C或 ...

  4. excel将一个工作表根据条件拆分成多个sheet工作表与合并多个sheet工作表

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

  5. Excel—“撤销工作表保护密码”的破解并获取原始密码

    您是否遇到过这样的情况:您用Excel编制的报表.表格.程序等,在单元格中设置了公式.函数等,为了防止其他人修改您的设置或者防止您自己无意中修改,您可能会使用Excel的工作表保护功能,但时间久了保护 ...

  6. 转:Excel—“撤销工作表保护密码”的破解并获取原始密码

    在日常工作中,您是否遇到过这样的情况:您用Excel编制的报表.表格.程序等,在单元格中设置了公式.函数等,为了防止其他人修改您的设置或者防止您自己无意中修改,您可能会使用Excel的工作表保护功能, ...

  7. sqlserver查询数据的所有表名和行数及空间占用量

    //查询所有表名 select name from sysobjects where xtype='u' --modify_date指表结构最后更新日期,并非数据最后更新日期SELECT     na ...

  8. sqlserver查询数据的所有表名和行数

    //查询所有表明 select name from sysobjects where xtype='u' select * from sys.tables //查询数据库中所有的表名及行数 SELEC ...

  9. 给 VS 2010 选一个好用的代码行数统计器(转)

    给 VS 2010 选一个好用的代码行数统计器 分类: Tricks2011-02-25 05:40 3891人阅读 评论(0) 收藏 举报 2010c 推荐一个VS插件,支持2005/2008/20 ...

随机推荐

  1. ItelliJ基于Gradle创建及发布Web项目(二)

    上一篇介绍了IteliJ创建WEB项目的过程,这一篇介绍一下和本地WEB服务器(以Tomcat为例)的关联方法和发布流程. WEB服务器的关联 1. 点击IDE右上角的一个带有三角形标识的按钮,如下图 ...

  2. struts2实现简单文件上传

    struts2 在内部已经帮我们做了很多封装的工作,我们只需要简单的写一些配置即可. 1 表单页面 <form action="${pageContext.request.contex ...

  3. HTTP长连接?短连接?长轮询?短轮询?

    错觉与突然的察觉 大多数人都知道HTTP1.0不支持长连接,知道HTTP1.1支持长连接. 这是业界的一个常识. 然而这样的描述导致了一些不做网络底层开发的开发者都下意识的认为HTTP1.1是一个可以 ...

  4. linux CentOs 权限导致的Apache - "DocumentRoot must be a directory"的解决方案

    在配置apache服务时经常遇到DocumentRoot must be a directory的错误提示,刚接触到apache时折腾了几个小时才找到错误的原因,出现这样的错误一般都是由于selinu ...

  5. 雅虎天气API调用

    雅虎天气API调用: 1.调用方法:http://weather.yahooapis.com/forecastrss?w=2502265&u=c,绿色字体为城市代号,u=c表示取摄氏度. 2. ...

  6. 非常简单的一个函数 竟然一直没有使用 find()

    find: 在非string类型的容器里,可以直接找出所对应的元素. find函数需要几个参数:迭代器,下标值,所要找的元素 vector<int> a; find(a.begin(),a ...

  7. Node.js综述

    前言 本综述文章旨在帮助读者深入理解下Node.js的本质,不去关注应用的细节,我认为真正的技术问题只有在动手写代码的时候才会遇到,那个阶段解决问题才是真正有意义的.   发展史 Node.js是Ry ...

  8. UIWebView和UICollectionViewController的使用

    UIWebView和UICollectionViewController的使用 UIWebView UIWebView是iOS内置的浏览器的控件, 可以浏览网页, 打开文档等 .系统自带的Safari ...

  9. jmap 查看内存使用直方图

    jps   -- 查看进程号 jmap -histo pid  查看堆内存中的对象数目.大小统计直方图, 如果带上live则表示先进行一次fullgc 再统计内存使用情况,如下: jmap -hist ...

  10. mof提权原理及其过程

    mof提权的原理: mof是windows系统的一个文件(在c:/windows/system32/wbem/mof/nullevt.mof)叫做"托管对象格式"其作用是每隔五秒就 ...