VBA常用小代码:一键将总表数据拆分为多个(实用转载)https://t.cn/A6VMGnfe

Sub NewShts()

Dim d As Object, sht As Worksheet, arr, brr, r, kr, i&, j&, k&, x&

Dim Rng As Range, Rg As Range, tRow&, tCol&, aCol&, pd&

Application.ScreenUpdating = False '关闭屏幕更新

Application.DisplayAlerts = False '关闭警告信息提示

Set d = CreateObject("scripting.dictionary") 'set字典

Set Rg = Application.InputBox("请框选拆分依据列!只能选择单列单元格区域!", Title:="提示", Type:=8)

'用户选择的拆分依据列

tCol = Rg.Column '取拆分依据列列标

tRow = Val(Application.InputBox("请输入总表标题行的行数?"))

'用户设置总表的标题行数

If tRow = 0 Then MsgBox "你未输入标题行行数,程序退出。": Exit Sub

Set Rng = ActiveSheet.UsedRange '总表的数据区域

arr = Rng '数据范围装入数组arr

tCol = tCol - Rng.Column + 1 '计算依据列在数组中的位置

aCol = UBound(arr, 2) '数据源的列数

For i = tRow + 1 To UBound(arr) '遍历数组arr

If Not d.exists(arr(i, tCol)) Then

d(arr(i, tCol)) = i '字典中不存在关键词则将行号装入字典

Else

d(arr(i, tCol)) = d(arr(i, tCol)) & "," & i '如果存在则合并行号,以逗号间隔

End If

Next

For Each sht In Worksheets '遍历一遍工作表,如果字典中存在则删除

If d.exists(sht.Name) Then sht.Delete

Next

kr = d.keys '字典的key集

For i = 0 To UBound(kr) '遍历字典key值

If kr(i) <> "" Then '如果key不为空

r = Split(d(kr(i)), ",") '取出item里储存的行号

ReDim brr(1 To UBound(r) + 1, 1 To aCol) '声明放置结果的数组brr

k = 0

For x = 0 To UBound(r)

k = k + 1 '累加记录行数

For j = 1 To aCol '循环读取列

brr(k, j) = arr(r(x), j)

Next

Next

With Worksheets.Add(, Sheets(Sheets.Count))

'新建一个工作表,位置在所有已存在sheet的后面

.Name = kr(i) '表格命名

.[a1].Resize(tRow, aCol) = arr '放标题行

.[a1].Offset(tRow, 0).Resize(k, aCol) = brr '放置数据区域

Rng.Copy '复制粘贴总表的格式

.[a1].PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

.[a1].Select

End With

End If

Next

Sheets(1).Activate '激活第一个表格

Set d = Nothing '释放字典

Erase arr: Erase brr '释放数组

MsgBox "数据拆分完成!"

Application.ScreenUpdating = True '恢复屏幕更新

Application.DisplayAlerts = True '恢复警示
End Sub

️Pater noster, qui es in caelis, Sanctificétur nomen tuum.
Advéniat regnum tuum.
Fiat volúntas tua, sicut in caelo et in terra.
Panem nostrum cotidiánum da nobis hódie,
Et dimítte nobis débita nostra sicut et nos dimíttimus debitóribus nostris.
Et ne nos indúcas in tentatiónem,
Sed líbera nos a malo. Amen~

早安妹纸们今日的妆面更新,素模来自DIM Aria。是六分特体宝宝♥️超级大头宝d(`・∀・)b头围比三分还要大呢!这一只真人风自由妆,妥妥的化了森系感的宝贝考量眼型后设计了一个卧蚕比较明显的妆,肤质肌理上也比淡妆偏浓一些,更有乡村情调✨唇部是哑光偏橘厚唇真棒呀[羞嗒嗒]#bjd妆面[超话]##bjd接妆##bjd[超话]##Dim Aria#


发布     👍 0 举报 写留言 🖊   
✋热门推荐
  • 纯路人( ^_^ )盘点没进组的艺人17个月:吴谨言10个月:赖冠霖9个月:文淇8个月:邢昭林7个月:何洛洛、汪卓成、阚清子、宋威龙6个月:陈星旭、徐正溪、江疏
  • 从艺多年谈人生两次巨大打击看着从艺多年一帆风顺,实则不然,王茜华在一次节目中说到,有两次换角色第一次是97年《北方的故事》中,原定是王茜华演出 ,在苦练角色一个
  • #南昌育兰自然幼儿园# 天然氧吧:子午花溪谷盛夏七月走进合水花溪谷,你会深深的体会到子午岭 “迎宾不用酒,捧出绿色就醉人”的魅力所在。来源:新甘肃#方程式#无论
  • #图书推荐#《老舍自传》老舍著;徐德明选编,广东人民出版社老舍是属于全中国人民的艺术家,太平年月,他有花草,有诗歌,有茶酒;动乱时代,他更笔耕不辍,构筑了宏大而
  • 7月24日和27日,中国队将分别与日本队和中国香港队交手,期待球员能找到一些自信,踢出点滴进步,让“学费”交得更有些价值吧。不过,用影响国家队世界排名的A级比赛
  • 于 是 , 我 们 向 银 监 会 举 报 , 银 监 会 发 信 给 我 们 说 : 因 为 我 们 是 把 钱 打 入 了 潘 某 林 个 人 账 户 ,
  • #教育是百年大计如何深化教育领域综合改革增强教育核心竞争力打造姜堰教育新名片不断提升人民群众的教育获得感、满意度日前姜堰出台推进教育高质量发展三年行动计划(20
  • 毕竟热爱可抵岁月漫长,“我打乒乓球就是因为我喜欢打乒乓球啊”别回头,你比自己想象中更强大[心]会有很多人一直支持你,希望你好和热爱生活的人相处,就会让自己不停地
  • 回头看没有任何意义,人家都已经开始新生活了, 你还站在原地久久走不出来,其实没有什么遗憾和错过,是你自己赋予了它意义,你要学会接受人际关系的变动,这样才能活得轻
  • #专精特新# 建立“专精特新”种子企业成长生态链,不仅需要地区政府的支持和重视,也需要市场化力量的参与和有效组织,为“专精特新”提供有效的孵化。从项目“优生”的
  • 2022年7月30号 星期六 今天的天气很好 可我的心情不好(焦虑的事情好多……)每次看到这样的文案我的眼泪哗的一下就流下来了(止不住)好像成年了以后 烦恼的事
  • 不像有的人遮遮掩掩,虽然有物质欲望,但能坦荡面对,不会让你觉得庸俗至极,她们丝毫不掩饰自己对生活的向往,朝着目标努力,有点可爱~~ 大多数其实很脚踏实地,这种
  • 而且,植发也是需要满足一定条件才可以进行的,如果是处在毛发的狂脱期,或者脱发面积变大,但可提取的的毛囊资源太少都是没有办法植发的,所以说植发并不是想值就能值的.
  •  入园前的“不适”感让自己又加深了一层有时候不要把自我看得那么重要的认知,可是脑子里偏偏一直有个声音告诉自己千万不要忘了你是谁。虽然从孩子降生的那刻起我就是**
  • #增发纤维效果点评# 第一次用的时候感觉像变魔术!每天都用,然后用完这个纤维后会喷发胶,可以加固纤维,即使风吹也不怕,至于出汗,完全不用担心会一脸黑,我每天去健
  • (工作人员去确认了一下,《いざッ、Now》好像卖得只剩3张了)结完账要回去的时候,我说,“那么下一张单曲也拜托了”之后就离开了CD店。(我跟工作人员讲把我带去年
  • 没睡好的第二天应设法补救,恢复正常睡眠节奏:1、适当午睡不赖床,按“熬夜两小时,白天午睡半小时”的比例补觉;2、起床后打开窗帘沐浴阳光,示意大脑睡眠时间已经结束
  • 北京,“北京人艺”有事情给他做,以他的才华,同样可以大展宏图,就是没了腿,还有金嗓子;就是没有嗓子,还有大家的爱呀。“北京人艺”的朋友告诉我:在回京的一次小住里
  • #自我提升##cva高校精英计划##金融##大学生# 今天在关于年报分析的最后一节课上,老师主要讲了最后的俩部分,公司员工情况以及年报中最重要的一部分财报。关于
  • 比如,奥地利的明星品种 Grüner Veltliner,当它来到海拔 4900 英尺的圣巴勃罗时,不仅表现出原本具有的白胡椒味和强烈的酸度,同时还散发出清新的