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. 如何使用T-SQL备份还原数据库及c#如何调用执行? C#中索引器的作用和实现。 jquery控制元素的隐藏和显示的几种方法。 localStorage、sessionStorage用法总结 在AspNetCore中扩展Log系列 - 介绍开源类库的使用(一) span<T>之高性能字符串操作实测

    如何使用T-SQL备份还原数据库及c#如何调用执行? 准备材料:Microsoft SQL Server一部.需要还原的bak文件一只 一.备份 数据库备份语句:user master backup ...

  2. static 与单例模式、auto_ptr与单例模式、const 用法小结、mutable修饰符

    一.static 与单例模式 单例模式也就是简单的一种设计模式,它需要: 保证一个类只有一个实例,并提供一个全局访问点 禁止拷贝  C++ Code  1 2 3 4 5 6 7 8 9 10 11 ...

  3. Provisional headers are shown(一)

    谷歌浏览器调试的时候,这个警告经常出现.但是每次产生的原因可能都是不一样的. 这篇文档记录我遇到的其中一次. 现象:一个并发的错误信息: CAUTION:request is not finished ...

  4. Atitit.ide代码块折叠插件 eclipse

    Atitit.ide代码块折叠插件 eclipse 1. User Defined Regions  #region  ...  #endregion  插件com.cb.eclipse.foldin ...

  5. vim-程序员的利器

    个人觉得vi使用熟练后就离不开了,用了它效率会提升不少,但是没了它可能还赶不上以前的速度,给惯坏了. 以下是本人无耻的复制和粘贴的:(附图一张方便学习) Vim目前已经有各主流系统的版本,尽管vim较 ...

  6. Decoration7:注册登录设计

    首先顶一个小目标:从前台写入用户数据后,登录的时候输入用户名和密码,能够查询数据库成功,同时记录session数据 1.Login界面,为了只关注主线任务,我直接套用一个bootstrap模板admi ...

  7. &lt;LeetCode OJ&gt; 234. Palindrome Linked List

    Total Accepted: 40445 Total Submissions: 148124 Difficulty: Easy Given a singly linked list, determi ...

  8. action(二)

    RemoveSelf :消失 CCFiniteTimeAction* action = CCSequence::create( CCMoveBy::create( , ccp(,)), CCRotat ...

  9. 1. A + B Problem【easy】

    Write a function that add two numbers A and B. You should not use + or any arithmetic operators. Not ...

  10. python学习之yummain模块

    定义:`yum`的命令行接口. yummain.main(args) Run the yum program from a command line interface. yummain.hotsho ...