使用按某列中的关键字拆分为单独的工作簿
前言:工作簿数据的拆分,有各种各样的需求,本示例介绍其中的一种需求实现,后续将会陆续补充相关内容。
借鉴此示例,你可以将信贷台账等按机构拆分开来,总之,举一返三,这方面的应用不时都会用到。
用循环嵌套速度慢,用数组字典的方式处理速度会快很多。经测试,5万笔数据,132列,用时23秒完成拆分。
数据源:
结果:
Code:
function:将当前工作表按第2列中的关键字拆分为各个不同的工作簿
需要在VBE工具引用中添加windowsscriptHostObjectModel
SubSplitSht()
变量声明
Dimtm,FsoAsFileSystemObject,sfolder,wbAsWorkbook,arr
DimrngAsRange,lastRowamp;amp;,lastCol,dAsObject,k,t,shAsWorksheet,iamp;amp;
tmTimer计时开始
创建文件系统对象
SetFsoCreateObject(Scripting。FileSystemObject)
在当前文件夹中创建一个子目录用于存放拆分好的工作簿文件
sfolderThisWorkbook。Pathamp;amp;分表
若子目录不存在,创建之
IfFso。FolderExists(sfolder)FalseThenFso。CreateFoldersfolder
关闭屏幕更新,防止闪屏,加快处理速度
Application。ScreenUpdatingFalse
关闭使用工作簿的SaveAs方法覆盖现有文件,覆盖警告默认为No
当DisplayAlerts属性设置等于False时,Excel选择Yes响应。
Application。DisplayAlertsFalse
对Sheet1表进行操作,可据实修改
WithSheets(Sheet1)
将Sheet1表单元格区域A1:C1(字段名)赋给对象变量rng
Setrng。Range(A1:EB1)
取B列最后一个有数据的单元格所在行行号赋给变量lastRow
lastRow。Range(Bamp;amp;Rows。Count)。End(xlUp)。Row
根据不同的Office版本(2007为12。0),取第一行最后一个有数据的单元格所在列列号赋给变量lastCol
IfApplication。Versionamp;gt;12。0Then
lastCol。Range(XFD1)。End(xlToLeft)。Column
Else
lastCol。Range(IV1)。End(xlToLeft)。Column
EndIf
将关键字所在列中B1到B列最后一个有数据的单元格组成的区域赋给数组arr
实际运用中关键字所在列据实修改
arr。Range(B2:Bamp;amp;lastRow)
创建字典对象
SetdCreateObject(scripting。dictionary)
Debug。PrintUBound(arr)
循环,从1到数组arr第一维最大下标
Fori1ToUBound(arr)
如果字典中不存在arr(i,1)对应的关键字,则
IfNotd。Exists(arr(i,1))Then
添加关键字及条目
首次循环时,条目为单元格A2向右扩展1行3列的单元格区域即A2:D2
i要加1是因为首次代入的变量为1,加1后变为2,Cells(2,1)表示A2
Setd(arr(i,1))Cells(i1,1)。Resize(1,lastCol)
如果字典中存在arr(i,1)对应的关键字,则
Else
用Union方法将原有的条目和新添加的条目组合为一个区域
字典的关键字不可以修改,但条目是可以不断修改的
Setd(arr(i,1))Union(d(arr(i,1)),Cells(i1,1)。Resize(1,lastCol))
EndIf
Next
EndWith
将字典中的关键字赋给变量k
kd。Keys
将字典中的条目赋给变量t
td。Items
Debug。Printd。Count
循环,从0到关键字的数量1
Fori0Tod。Count1
新建一个工作簿并指定类型
SetwbWorkbooks。Add(xlWBATWorksheet)
对新工作簿中的第1张表进行操作
Withwb。Sheets(1)
复制rng表示的字段名到新工作簿第1张表A1单元格开始的位置
rng。Copy。Range(A1)
将关键字对应的条目复制到新工作簿第1张工作表A2单元格起的位置
条目就是一个区域,可直接cp
t(i)。Copy。Range(A2)
EndWith
保存新建的工作簿,文件名为各个关键字,扩展名为。xlsx
加Clean函数是为防止关键字中有非打印字符,造成文件不能保存错误
wb。SaveAsFilename:ThisWorkbook。Pathamp;amp;分表amp;amp;WorksheetFunction。Clean(k(i))amp;amp;。xlsx
关掉新建工作簿
wb。Close
Nexti
释放对象变量
SetrngNothing:SetdNothing
Application。DisplayAlertsTrue
Application。ScreenUpdatingTrue
MsgBox拆分完毕!用时amp;amp;Timertmamp;amp;秒,64,提示
EndSub
看图:
附件下载:此文已同步至【知嗒】知识号【Excel精英之家】,相关附件可下载安装【知嗒】app应用,注册一个账号,搜索并关注【Excel精英之家】,加群【Excel精英之家】后方可下载。
钓鱼网站有哪些特点钓鱼是一种网络欺诈行为,指不法分子利用各种手段,仿冒真实网站的URL地址以及页面内容,或利用真实网站服务器程序上的漏洞在站点的某些网页中插入危险的HTML代码,以此来骗取用户银……
四个对照四个找一找个人剖析材料及整改措施现根据按照公司要求,通过四个对照,四个找一找四个意识、坚定四个自信、做到两个维护、以及对照党章党规等问题中找差距,进行深刻自我剖析,现将个人对照检查做如下汇报:(一)、认……
校车天眼是如何运行的现如今校车的安全问题频频上新闻报道,家长们也是为孩子们的安全揪心,这个问题如何妥善的解决呢?下面本站为您解答校车天眼是如何运行的?该系统不仅能实时监控校车运行轨迹,还能实时监控……
为什么很多都失败了任何面对用户的产品在这个日新月异的市场上必须保持现代和新潮,redesign对于网站、APP和任何和各种用户、利益相关者们交互的产品都是非常重要的。但是大部分的redesign……
心理揭秘自恋型的人更善妒来自衣阿华周立大学的Krizan等人在大学生和社区人群中开展了调查。他们测量了两种自恋的取向,一种是浮夸型自恋(grandiosenarcissism),这样的人自我感觉良好,……
开拓者还记得教室窗外,那棵红叶树,我老是静静地盯着它发呆,想着在春夏着这么生机盎然的季节,它居然长着柅柅苒苒的红叶子。它怎么进行光合作用呢?怎么养活自己,叶绿素这么少。惊异只是那一刻……
可爱的小金鱼圆眼睛,阔嘴巴,尾巴要比身体大。碧绿水草衬着它,好像一朵大红花。哈哈!这就是我最喜欢的金鱼了。这这只调皮可爱的金鱼名叫狮子头。它的头上有一块凸起的地方,红色的,像戴了一顶……
老客户应该从哪些方面进行维护不知各位卖家朋友是否存在这样的问题:店铺的权重提升需要大量流量,而自然流量难操作,付费流量又价格昂贵?事实上,我们忽略了一个巨大的宝藏:老客户的维护。老客户的流量和转化是非常高……
老员工激励的话怎样才能员工激励尊重个人我们常听到公司的成绩是全体员工努力的结果之类的话,表面看起来管理者非常尊重员工,但员工只当是口号听听而已。表扬奖励只有落实到个人,这种激励才能行之有效。由于每个员……
西游记中地府为什么缺南瓜南瓜是什么意思我们知道在《西游记》故事中,唐僧的取经是源于泾河龙王事件,在这起事件当中,李世民也被泾河龙王带入了地府,阎王将李世民放回阳间,李世民十分感谢阎王,要送瓜果过来,而阎王说地府冬瓜……
两次升职失败要不要辞职努力工作得不到升职问题究竟为什么很多人努力工作?终究都是为了升职和加薪。但很多人努力工作,而且争取了升级的机会,但依旧落败了,这时候难免会陷入自我怀疑,那么两次升职失败要不要辞职呢?努力工作但却得不到升……
于谦为什么选朱祁钰当皇帝为何不让太子继位土木堡之变作为明朝历史上的一次可以说是改变了明朝命运的事件,对于明朝来说影响是非常大的,朱祁镇成了瓦剌的俘虏,而国不可一日无君,没了朱祁镇,明朝还需要另外一位新的皇帝,这时候大……
米的世界这是一群身患侏儒症的美国男孩女孩的故事,他们的身高通常只有1。2米左右,呼吸着比我们低了半米的空气,却拥有着丝毫不逊色于常人的能力和梦想。芬兰八零后女摄影师MaijaTammi……
最长的腿拥有者身高米腿长米如果有人问,最养眼的是什么?我想大家都会不约而同地回答大长腿。可是,不知道什么样的腿才能叫大长腿吗?也许我们对她的定义并不清楚。现在,就让我们以一个长的概念再去看一下我们这个世……
对农村学校小班化教学方法的探讨随作农村城镇化建设的推进,农村住户逐步减少,农村小学在校学生人数急剧减少,加之随父母进城和择校风的影响,西北农村有些学校成了空巢学校。有些学校学生数只有一位数。这就给长期习惯于……
诉说着造句用诉说着造句大全(31)笔尖还在骚动着,轻描淡写地诉说着过去,如今,却多了些无言对白,少了些争执。(32)知了的鸣唱在树影间盘旋,飞鸟的身影在阳光中翩跹,蓝天白云诉说着我的思念,炎热季节……
爱在细雨长街爱很普通,它却可以和任何事物结合并创造出许多穿透人心的故事,我的奇妙故事也将拉开帷幕。那天,天不知怎的,前几天还放晴,现在可就大雨淋漓了,捉弄得人们都不知该如何是好。我见……
我的好老师胡老师宋代司马光曾经说过:经师易遇,人师难遇。可我,就遇到了这么一位人师,他是我们班的班主任胡老师。胡老师长得特别高,头顶差不多快到我们班的班门框了。胡老师的头发是少年白,应该……
封神演义白鹤童子演员那么年轻为什么是姜子牙师兄元始天尊座下弟子众多,但是我们最熟悉的就是两个人,姜子牙和申公豹。不过新版《封神演义》中还有一个神奇的角色,申公豹是大徒弟,而他是二徒弟,姜子牙也得叫他师兄,但是他看起来年纪非……
怎样处理围城外的情感婚外情注定不长久,因为婚外情与生俱来的不纯粹。产生婚外情的人,逃不出三个理由:情感的需要、性的渴求、利益的谋取。当然,这是内在的三个动因,这三个动因,也可能相互混杂,表面上极可……
症状造句用症状造句大全211。“卫福部疾病管制署”昨指出,调查证实男子所称的尼日利亚旅游史、吃蝙蝠餐、感染症状等全是谎报。212。当形成输卵管卵巢脓肿时,虽接受积极治疗,体温仍高,呈弛张热或稽……
尝试是人生的必修课在孩子们每个人的学习和生活中,都会有第一次的尝试与体验,它不断地激励和启发我们,让我们不断地获得成长。这是我的第一次亲自下厨的故事。那是在一个傍晚,我从外面游玩回到……
未来的家园我是一个喜欢幻想的小男孩。在一个阳光明媚的早上,我推开门,温暖的阳光照在我的身上。我微笑着,美丽的大自然在和我分享温暖的阳光。仿佛在我面前出现了一个城市。这座城市分成了三……
准备怀孕前应做到大保养在做好各项怀孕准备工作的同时,未准爸妈们千万别忘了孕前保养,怀孕前的保养很重要,如果保养得当,会让你快速的要上健康宝宝,下面,我们就一起来看看,怀孕前应该做到的5大保养。……