使用vba把一个工作簿的多个sheet拆分成两个sheet为一个工作簿的多个工作簿
假如一个工作簿有10个sheet,一下代码就是把10个sheet拆分成两个工作簿,一个工作簿有2个sheet,并且包含原sheet的数据
Sub SplitWorksheet()
'定义对话框变量
Dim cc As FileDialog
Set cc = Application.FileDialog(msoFileDialogFilePicker)
Dim newwork As Workbook
Dim num As Integer
With ccIf .Show = -1 ThenDim vrtSelectedItem As VariantFor Each vrtSelectedItem In .SelectedItemsDim tempwb As WorkbookSet tempwb = Workbooks.Open(vrtSelectedItem)'获取需拆分文件的工作表数量num = tempwb.Sheets.Count'获取需拆分文件的路径ipath = tempwb.Path & "\"For i = 1 To num'如果对2取余为0,执行以下代码If (i Mod 2 = 0) ThenSet sht = Worksheets(i - 1)'新建一个新的工作簿Set newwork = Workbooks.Add'把需拆分的第一个工作簿的奇数工作表工作表复制到第二个工作簿的第一个sheettempwb.Worksheets(i - 1).Copy before:=newwork.Worksheets(1)'把需拆分的第一个工作簿的偶数工作表工作表复制到第二个工作簿的第一个sheettempwb.Worksheets(i).Copy before:=newwork.Worksheets(2)'不知道什么原因,第一个工作簿的sheet会出现一点小问题,没有具体调查'只是使用了一个方法去解决'把第三个sheet名修改成别的名字'第一个sheet名需取拆分文件的第一个sheet名If (i <= 2) ThenWorksheets(3).Name = "sheet3"Worksheets(1).Name = sht.NameEnd If'关闭弹框Application.DisplayAlerts = Fals'保存文件到某个路径,和文件名 xlsx格式 加上下面注释的,True为xls格式ActiveWorkbook.SaveAs ipath & sht.Name ',True'删除第三个sheetSheets(newwork.Worksheets(3).Name).Delete'关闭指定工作簿Workbooks(newwork.Name).Close savechanges:=TrueEnd IfNext itempwb.Close savechanges:=FalseMsgBox "工作表已拆分完毕到 " & ipath & " 路径下,请确认!"Next vrtSelectedItemEnd If
End With
Set cc = NothingEnd Sub
使用vba把一个工作簿的多个sheet拆分成两个sheet为一个工作簿的多个工作簿相关推荐
- 将excel中的一个工作表按照某列拆分成多个sheet工作表
如何将excel中的一个工作表按照某列拆分成多个sheet工作表呢?接下来就利用VBA工具来解决这个问题. 拆分之前的工作表: 拆分之后的工作表: 操作步骤具体如下: 第一步:打开需要拆分的表格文件: ...
- 怎么把一个表格拆分成两个表格
今天跟大家分享一下怎么把一个表格拆分成两个表格 1.打开演示文件,要求将表格按照部门的不同拆分为两个. 2.首先我们点击下图选项 3.点击[汇总拆分]-[拆分工作表] 4.将[表头行数]设置为2 5. ...
- html拆分单元格成两列,在excel中怎样把一个单元格拆分成两个单元格
excel表格中如何拆分带括号的单元格比如说我有一个表格单元格内容是 :张三李四(000001) 如何将括号内的选中需要拆分的单元格,Ctrl +F把单元格里面的括号或者书名号换成逗号,然后在数据选项 ...
- python拆分excel的sheet为单文件_pandas处理excel一个sheet拆分为多个sheet
指定某一列作为拆分依据,pandas如何把一个excel的一个sheet拆分为多个sheet呢?具体思路如下: 1.读取excel文件获取DataFrame对象df. 2.获取指定列的Series对象 ...
- 哥德巴赫猜想: 任何一个大于2的偶数都可以拆分为两个素数的和
哥德巴赫猜想: 任何一个大于2的偶数都可以拆分为两个素数的和 打印出小于2000的偶数拆分情况: var goldbach = function (n){ for(var i = 2;i<n; ...
- excel将一个工作表根据条件拆分成多个sheet工作表
本例介绍在excel中如何将一个工作表根据条件拆分成多个工作表.注意:很多朋友反映sheets(i).delete这句代码出错,要注意下面第一个步骤,要拆分的数据工作表名称为"数据源&quo ...
- hdu 2098 分拆素数和(一个偶数拆分成两个不同素数和 拆法数量)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2098 分拆素数和 Time Limit: 1000/1000 MS (Java/Others) ...
- VBA-工作簿里面多个Shee拆分成独立的工作簿
1.打开视图->代码窗口->粘贴代码 2.运行代码 Private Sub chafenbiao()Dim sht As WorksheetDim MyBook As WorkbookSe ...
- html 中一个格子拆分成两个_一个效果惊人的数字游戏
安爸曾多次讲过数学推理能力对孩子成长的重要性,听到有位家长说自己用扔骰子的方法教孩子数学等式.步骤大致是扔骰子时,如果骰子是3,就在棋盘上从0出发走3步,并且写出0+3=3的加法等式.扔到负数就后退, ...
最新文章
- 浅谈使用SQLBulkCopy批量数据入库
- 两个要素:人和思考——《软件人才管理的艺术》书评
- 公告:Rover's Official Blog停止更新
- sublime 解决中文乱码
- 【最全最详细】使用publiccms实现动态可维护的首页轮播
- windows隐藏python运行时的终端
- Farey Sequence(欧拉函数板子题)
- Docker的mysql镜像_详解docker下的Mysql镜像的使用方法
- kafka分区分配策略
- motion的移植和使用
- python把文件中的邮箱分类 保存到相应的文件里面
- 支持嵌入的手机号码识别sdk软件
- Python 爬虫学习笔记(七(2))JsonPath解析+实战
- element实现table表格序号递增的效果
- (二)如何使用Progress Bar
- i513500h和r5 5600h选哪个 r55600h和i513500h差多少
- 如何快速搭建”疫情问答“小助手服务
- 网络安全运维人员面临的痛点分析
- bandit game
- 2019 年第 10 周 DApp 影响力排行榜 | TokenInsight
热门文章
- 并发编程含义比较广泛,包含多线程编程、多进程编程及分布式程序等 目录 1. “共享内存系统”,消息传递系统”。	1 1.1. 共享模式 多进程 多线程	1 1.2. Actor消息模式 事件驱动	2
- 完整的FreeBSD软件安装方法
- python交互式程序设计导论第三周小测验答案_学堂云Python 交互式程序设计导论章测试答案...
- 百度贴吧BDUSS获取器
- linux 僵死进程及其处理方法
- PodDisruptionBudget
- 写了那么多Android布局,你知道elevation属性吗
- 计算机网络实践网线制作,网线怎么制作
- python3编译安装_编译安装Python 3
- Lottie: 让动画实现更简单