中易网

用excel宏对sheet按指定列拆分成若干文件

答案:2  悬赏:0  
解决时间 2021-03-21 11:40
如:EXCEL有以下列:姓名,年龄,性别,电话,地址,公司。
把:姓名,年龄,性别拆分作为一个工作簿;
把:电话,地址,公司拆分作为一个工作簿;
最佳答案
操作方法如下:
将原表复制若干个表,每个表里删除不需要的列。
全部回答
sub 列数据转文件() dim twork as workbook, tsht as worksheet, namedic, endrow as long application.screenupdating = false set namedic = createobject("scripting.dictionary") endrow = [a65536].end(xlup).row'获取a列末行,根据实际修改为某列 for each rng in range("a2:a" & endrow) '遍历a列第二行开始的所有关键字,如非a列,请将a修改成其它列   namedic(rng.value) = "" '将关键字添加至字典对象中(不会重复) next if activesheet.autofiltermode = false then range("a1:c1").autofilter '将工作表a1:c1区域设置为自动筛选,按自己需要修改区域 for each t in namedic.keys'遍历字典中所有的关键字 if t <> "" then     activesheet.range("$a$1:$c$" & endrow).autofilter field:=1, criteria1:=t     '从自动筛选中筛选值为变量t的所有区域     set twork = workbooks.add: set tsht = twork.sheets(1)     '新建工作簿twork对象,设置tsht工作表对象     range("a1").currentregion.copy tsht.range("a1")     '将自动筛选出的所有结果复制到新的工作薄中     twork.saveas t: twork.close: set tsht = nothing: set twork = nothing     另存新的工作簿,名字为变量t(既a列中的关键字),然后关闭工作簿,清空对象变量 end if next application.screenupdating = true end sub
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
7 6 4 2 按顺序用加减乘除法,怎么算得24
我现在用的是校园翼讯上网,但是网速慢的不行
彩光脱毛好吗,多少人做过?
什么是短篇论著
吃柚子上火吗
ca1345在几号航站楼
我家是创维的电视 操作系统有些卡是怎么回事
求ZS的斩杀,压制,致死打击,猛击的宏
热能动力与工程发的是什么学士学位证
南京多伦多海鲜自助餐厅哈根达斯无限供应吗
南京注册公司流程及费用谁知道?
描写风的词语有哪些
仙游县莆田主题牛仔我想知道这个在什么地方
争做合法大学生作文800字
戴黄水晶手链有什么好处,有什么效果吗?
推荐资讯
半瓶神仙醋的所有游戏
绥宁县武阳镇大田村
“生命可以无所谓而来,但不可无所谓而去”这
无限极排毒15天不吃饭,是不是假的
极限limx→0时arcsinx/x怎么算
坐北朝南的房子楼梯设在西边用什么来化解好
怎么获取一段mp3格式的音频的播放时长
怎样在文字里画根横线并弄到你QQ网名里
请问成都酒类团购经销商,要白酒
急求铝合金高光机,它的工作行程多少?价格是
深州科二考试分厂全名
电影锦衣卫中皇帝怎么把玉玺赐给了自己的大臣
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?